Chaque fois que je modifie un fichier js ou html, le navigateur actualise la page. sans rechargement. Cela n'a rien à voir avec ce qui se dit en ligne
Voici mon code :
browserSync = require('browser-sync').create(),
var htmlSrc = ['app/**/*.html', '!app/index.html', '!app/lib/**/*.html', '!app/lib/*.html'];
var jsSrc = ['app/**/*.js', '!app/lib/**/*.js', '!app/assets/**/*.js'];
var cssSrc = ['app/assets/**/*.css', '!app/lib/**/*.css'];
var imgSrc = ['app/assets/img/*', 'app/assets/img/**/*'];
var fontSrc = ['app/assets/fonts/**/*'];
var jsonSrc = ['app/translate/*.json', 'app/translate/**/*.json'];
var libSrc = ['app/lib/**/*'];
var indexSrc = 'app/index.html';
var buildPath = 'dist/';
var debugPath = 'app/';
gulp.task('createIndex', function() {
return gulp.src(indexSrc)
.pipe(replace(/\.js/g, '.min.js'))
.pipe(htmlmin({collapseWhitespace: true}))
.pipe(gulp.dest(buildPath))
.pipe(browserSync.stream());
});
gulp.task('compressHTML', function() {
return gulp.src(htmlSrc)
.pipe(htmlmin({collapseWhitespace: true}))
.pipe(gulp.dest(buildPath))
.pipe(browserSync.stream());
});
gulp.task('compressJS', function() {
var filterIndex = filter(['**/app.config.js', '**/app.module.js', '**/app.route.oclazy.js'], {restore: true});
return gulp.src(jsSrc)
.on('error', function(err) {//语法检查,打印错误
console.log('Error: ', err.message);
})
.pipe(filterIndex)
.pipe(rename({suffix: '.min'}))
.pipe(filterIndex.restore)
.pipe(uglify())//压缩
.pipe(gulp.dest(buildPath))
.pipe(browserSync.stream());
});
gulp.task('compressCSS', function() {
return gulp.src(cssSrc)
//.pipe(concat('index.min.css')) 为了使用 oclazyload 不整合
.pipe(minifycss())
.pipe(gulp.dest(buildPath + 'assets'))
.pipe(browserSync.stream());
});
gulp.task('compressJSON', function () {
return gulp.src(jsonSrc)
.pipe(jsonminify())
.pipe(gulp.dest(buildPath + 'translate'))
.pipe(browserSync.stream());
});
gulp.task('copyImg', function() {
return gulp.src(imgSrc)
.pipe(gulp.dest(buildPath + 'assets/img'))
.pipe(browserSync.stream());
});
gulp.task('copyLib', function() {
return gulp.src(libSrc)
.pipe(gulp.dest(buildPath + 'lib'))
.pipe(browserSync.stream());
});
gulp.task('copyFont', function() {
return gulp.src(fontSrc)
.pipe(gulp.dest(buildPath + 'assets/fonts'))
.pipe(browserSync.stream());
});
gulp.task('clean', function() {
return gulp.src(buildPath)
.pipe(clean());
});
gulp.task('startCreate', ['clean'], function() {
runSequence('createIndex',
['compressHTML', 'compressJS', 'compressCSS', 'compressJSON'],
['copyLib', 'copyImg', 'copyFont']);
});
gulp.task('browserSync', function() {
gulp.start('startCreate');
browserSync.init({
server: {
baseDir: buildPath
}
});
gulp.watch(indexSrc, ['createIndex']);
gulp.watch(htmlSrc, ['compressHTML']);
gulp.watch(jsSrc, ['compressJS']);
gulp.watch(cssSrc, ['compressCSS']);
gulp.watch(jsonSrc, ['compressJSON']);
});
gulp.task('default', ['browserSync']);
Nouvelle réponse : // La zone de commentaire ne convient pas
.Je suis vraiment désolé de n'avoir jamais vu votre façon d'écrire. Ceci est mon amélioration de la version
ionic 1.0
Vous pouvez vous référer à :Je n'ai jamais vu cette utilisation, veuillez jeter un œil à la documentation officielle http://www.browsersync.cn/doc...
Surveillez-vous toujours le serveur ?
Alors recharger sans changement ?
gulp.watch("*.html").on("change", browserSync.reload);
@红泽 @小_u_江 Merci beaucoup pour votre réponse. Je vais la modifier comme suit (malheureusement, cela n'a toujours aucun effet. Chaque fois que je modifie le fichier js, le navigateur actualisera toujours le fichier js. page)
De plus, ma version de gulp est la 3.9.1