我不知道为什么那些实时重新加载的任务在我上次执行 ionic 更新后就消失了。现在我正在尝试解决这个问题,但仍然想知道为什么不起作用。我正在关注this guide here但仍然看不出我的错误是什么。
查看我的gulpfile.js
的某些部分
var paths = {
sass: ['/scss/**/*.scss'],
js: ['www/js/*.js', 'www/js/**/*.js', '!www/js/lib.min.js', '!www/js/code.min.js']
};
gulp.task('compress-lib', function() {
gulp.src([
'./www/lib/ionic/js/ionic.bundle.min.js'
])
.pipe(concat('lib.min.js'))
.pipe(gulp.dest('./www/js'))
});
gulp.task('compress-js', function() {
gulp.src([
'./www/js/app.js',
'./www/js/lines/controller.js',
'./www/js/lines/service.js'
])
.pipe(ngAnnotate())
.pipe(concat('code.min.js'))
.pipe(gulp.dest('./www/js'))
});
// JSHint task
gulp.task('lint', function() {
gulp.src(paths.js)
.pipe(jscs())
.pipe(jshint())
.pipe(jshint.reporter('default'));
});
gulp.task('sass', function(done) {
gulp.src('./scss/ionic.app.scss')
.pipe(sass({onError: function(e) { console.log(e); } }))
.pipe(autoprefixer('last 2 versions', 'Chrome', 'ios_saf','Android'))
.pipe(gulp.dest('./www/css/'))
.pipe(minifyCss({
keepSpecialComments: 0
}))
.pipe(rename({ extname: '.min.css' }))
.pipe(gulp.dest('./www/css/'))
.on('end', done);
});
gulp.task('watch', function() {
gulp.watch(paths.sass, ['sass']);
gulp.watch(paths.js, ['lint', 'compress-js']);
});
每次我在文件上执行ctrl + s
(在本例中为www/js/lines/controller.js
)时,在控制台上您可以看到类似以下内容:
[14:41:11] Starting 'lint'...
[14:41:11] Finished 'lint' after 17 ms
[14:41:11] Starting 'compress-js'...
[14:41:11] Finished 'compress-js' after 5.31 ms
JS changed: www/js/lines/controller.js
JS changed: www/js/code.min.js
这意味着有一些任务正常工作,但如果我想在 View 上看到这些更改,我必须转到控制台并输入 gulp
,你知道为什么应用程序不只是在 ctrl + s
之后重新加载?
更新
这就是我正在尝试实现的(您可以在我上面粘贴的链接上看到它):
“监视任务用于在我们更改文件时运行任务。当您编写代码并修改文件时,gulp.watch() 方法将监听更改并自动再次运行我们的任务,这样我们就不会”不必每次都不断跳回命令行并运行 gulp 命令”
最佳答案
我知道这会解决问题,但使用实时服务器而不是实时重新加载,看看是否有效。因为我过去也遇到过很多实时重载问题。
npm install live-server
然后:
live-server
注意:输入上面的命令时,请确保您位于项目的目录中。
关于javascript - 在 GULP 中按 Ctrl + S 后实时重新加载不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28570834/