我正在尝试使用gulp的concate模块来连接我的js文件。
我的js文件的项目路径是:project/public/js/vendor/
。
在供应商中是我使用的所有插件,我想将它们合并为单个文件
我使用以下代码执行我的任务。
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']);
我想将文件导出到位于/ js的concat文件夹中,但我没有文件。 代码执行时没有错误报告。
[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
我做错了吗?
修改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 :(得分:4)
主要是没有选择源文件,使用gulp-count打印所选文件的数量
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')
答案 1 :(得分:0)
它可能与您运行gulpfile的地方有关。您说文件的路径位于:
project/public/js/vendor
但你的gulpfile正在
运行project/gulpfile
所以gulp找不到任何文件:
./vendor/*.js
那是因为路径可能会被解析为:
project/vendor/*.js
你应该做的是:
如果它不起作用,您需要知道您的工作目录在哪里,要知道您所在的日志:
cosole.log(__dirname)
然后您可以将该工作目录用于您的路径,也可以将工作目录作为任务的输入路径,然后执行以下操作:
const path = require('path);
...
let jspath = path.join(basePathInput, 'public/vendor/*.js')
return gulp.src(jspath).
....
答案 2 :(得分:0)
我现在遇到了同样的问题,就我而言,原因仅仅是其中一个文件的语法错误。
答案 3 :(得分:0)
我尝试了所有答案,就我而言,这只是事实,我太早将其连接到gulp生命周期,因此构建/我的文件随后被覆盖。
因此,如果其他答案中的所有内容都没问题,请查看您的生命周期挂钩。