我是使用gulp的新手,我认为我已正确设置它,但它似乎没有做它应该做的事情。
我的gulpfile.js有
gulp.task('scripts', function() {
return gulp.src([
'sites/default/themes/lsl_theme/js/**/*.js'
])
.pipe(plumber())
.pipe(concat('lsl.js'))
.pipe(gulp.dest('sites/default/themes/lsl_theme/js'))
// .pipe(stripDebug())
.pipe(uglify('lsl.js'))
.pipe(rename('lsl.min.js'))
.pipe(gulp.dest('sites/default/themes/lsl_theme/js'))
.pipe(sourcemaps.write())
.pipe(notify({
message: 'Scripts task complete.'
}))
.pipe(filesize())
.pipe(livereload());
});
与
gulp.task('watch', function() {
livereload.listen();
gulp.watch('./sites/default/themes/lsl_theme/js/**/*.js', ['scripts']);
gulp.watch('./sites/default/themes/lsl_theme/sass/**/*.scss', ['compass']);
});
和手表功能
[16:14:36] Starting 'compass'...
[16:14:36] Starting 'scripts'...
[16:14:36] Starting 'watch'...
[16:14:37] Finished 'watch' after 89 ms
当我运行gulp时,结果是
if (Session.get("error") !== void 0) {
}
并且未注册任何更改。
对于文件结构,我的gulpfile.js位于根目录中,sass,css和js都在root / sites / default / themes / lsl_theme中,sass文件夹包含文件夹' components&#39 ;充满了部分。
答案 0 :(得分:0)
我的假设是你在窗户上?如果我错了,请纠正我。
这个问题导致gulp-notify
倾向于破坏gulp.watch
功能。尝试评论
// .pipe(notify({
// message: 'Scripts task complete.'
// }))
并查看问题是否仍然存在。
如果这确实解决了问题,this thread的解决方案可能会有所帮助。
您可以结合使用the
gulp-if
pluginos
node module 要确定您是否在Windows上,请排除gulp-notify
,例如 这样:var _if = require('gulp-if'); //... // From https://stackoverflow.com/questions/8683895/variable-to-detect-operating-system-in-node-scripts var isWindows = /^win/.test(require('os').platform()); //... // use like so: .pipe(_if(!isWindows, notify('Coffeescript compile successful')))
答案 1 :(得分:0)
事实证明,我的问题很大一部分只是与Gulp的新秀。当我从我的gulp手表中删除'scripts'
时,它开始工作。
然后我建立连接,它正在查看它放置新的连接和缩小的js文件的同一目录,因此它放置新文件,检查该文件,并反复循环导致内存问题以及不允许'compass'
运行。
创建' dest'拿着新js的文件夹一切都开始工作只是peachy。