Я не знаю, почему эти задачи для живой перезагрузки просто исчезают после последнего обновления Ionic, которое я сделал. Теперь я пытаюсь решить эту проблему, но все еще задаюсь вопросом, почему не работает. Я следую этому руководству и до сих пор не вижу, в чем ошибка .
Посмотрите часть моего 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
это означает, что некоторые задачи работают правильно, но если я хочу увидеть эти изменения в представлении, мне нужно перейти в консоль и ввести gulp
, у вас есть идея, почему приложение не просто перезагружается после ctrl + s
?
ОБНОВЛЕНИЕ
Это то, что я пытаюсь реализовать (вы можете увидеть это по ссылке, которую я вставил выше):
«Задача наблюдения используется для запуска задач, когда мы вносим изменения в наши файлы. Когда вы пишете код и изменяете свои файлы, метод gulp.watch() будет прослушивать изменения и автоматически запускать наши задачи снова, поэтому нам не нужно постоянно возвращайтесь к нашей командной строке и каждый раз запускайте команду gulp"
gulp.task('watch', function() { gulp.watch(paths.sass, ['sass']); gulp.watch(paths.js, ['lint', 'compress-js']); });
, предполагается, что ваши представления будут перезагружены после того, как вы нажмете ctrl + s на своих файлах. - person Non   schedule 18.02.2015