2015-08-20 2 views
3

Я пытаюсь конкатенировать файлы js с помощью конкатентного модуля gulp.
Мои пути к файлам js: project/public/js/vendor /.
В вендора все плагины, которые я использую, и я хочу, чтобы concatinate их в один файл < бр />Gulp Concat no output file

Я использую следующий код, чтобы выполнить свою задачу.

var gulp = require('gulp'), 
concat = require('gulp-concat'); 

gulp.task('scripts',function(){ 
    return gulp.src('./vendor/*.js') 
     .pipe(concat('global.js')) 
     .pipe(gulp.dest('concat/')); 

}); 

gulp.task('default', ['scripts']); 

Я хочу экспортировать файл в папку concat, которая находится в/js, но я не получаю файл. Код выполняется без отчета об ошибке.

[gulp] Using gulpfile /var/www/vhosts/site.dev/httpdocs/project/gulpfile.js 
[gulp] Starting 'scripts'... 
[gulp] Finished 'scripts' after 9.2 ms 
[gulp] Starting 'default'... 
[gulp] Finished 'default' after 8.8 μs 

Я сделал что-то не так?

Edit 1

Я попытался войти в счет, как это было предложено и вернулся:

[gulp] Using gulpfile /var/www/vhosts/site.dev/httpdocs/laravel/gulpfile.js 
[gulp] Starting 'scripts'... 
[gulp] Finished 'scripts' after 12 ms 
[gulp] Starting 'default'... 
[gulp] Finished 'default' after 9.37 μs 

ли это означает, что он не выбрали ни JS?

+0

некоторые clearifications пожалуйста: «папка CONCAT, которая находится в/JS» - можете ли вы объяснить-структуру папок Юр? как для src, так и для dest Вы проверили, имеются ли файлы global.js в ./vendor/? – Thatkookooguy

+0

Из текущей информации ... может быть, вам просто нужно использовать gulp.dest ('./ concat /')? – Thatkookooguy

+0

Thatkookooguy: я проверил поставщика. Я не нашел нужный файл, также в общем случае в общей папке js с именем «js» и является empy, поставщик находится внутри одной и той же папки и содержит некоторые .js-файлы. –

ответ

4

в основном там не исходные файлы выбраны, использование глоток подсчета для печати количество файлов выбран

var count = require('gulp-count'); 

gulp.task('scripts',function(){ 
    return gulp.src('./vendor/*.js') 
     .pipe(count('## js-files selected')) 
     .pipe(concat('global.js')) 
     .pipe(gulp.dest('concat/')); 

}); 

если вы рассчитывать как 0, учитывая ваш путь project/public/js/vendor/ изменить ваш gulp.src к gulp.src('project/public/js/vendor/**/*.js')

+0

entre: Я добавил править базы по тому, что вы предложили. –

0

это может быть связано с местом, где вы используете свой gulpfile. Вы хотите сказать, что путь для ваших файлов находятся:

project/public/js/vendor 

но ваш gulpfile работает на

project/gulpfile 

так глотком не находит любой файл по адресу:

./vendor/*.js 

и это поскольку путь может быть разрешен к:

project/vendor/*.js 

Что вы должны сделать, это:

  1. Попробуйте использовать в качестве пути для файлов ./public/vendor/*.JS
  2. Если он не работает, вы должны знать, где ваш рабочий каталог, чтобы знать этот журнал, в котором вы находитесь:

    cosole.log(__dirname) 
    
  3. Затем вы можете использовать этот рабочий каталог для вашего путь или вы можете путь рабочего каталога в качестве входных данных для задачи, а затем сделать что-то вроде:

    const path = require('path); 
    
    ... 
    
    let jspath = path.join(basePathInput, 'public/vendor/*.js') 
    return gulp.src(jspath). 
         ....