如何避免 GULP 打开新标签页?
How to avoid GULP opening a new tab?
这是我的问题,每次我转到控制台并尝试通过 gulp
重新启动服务器时,都会在浏览器中打开一个新选项卡,所以我必须关闭打开的选项卡开始研究新的。
另一个关于相同的问题:
有时代码样式会出现错误,并且一旦您这样做,该选项卡仍然会打开 gulp
,但是您无法开始处理它,直到您修复了代码样式的错误,然后您就可以开始了并执行 gulp
并出现新标签。
这是我的 gulpfile.js
var gulp = require('gulp');
var paths = {
sass: ['scss/**/*.scss'],
js: ['www/js/*.js', 'www/js/**/*.js', '!www/js/lib.min.js', '!www/js/code.min.js']
};
// Dev task
gulp.task('dev', ['sass', 'lint', 'compress-lib', 'compress-js', 'run-ionic'], function() { });
// Build task
gulp.task('default', ['dev', 'lint', 'sass', 'compress-lib', 'compress-js', 'watch']);
//Ionic Serve Task
gulp.task('run-ionic',shell.task([
'ionic serve'
]));
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'))
.pipe(livereload());
});
gulp.task('compress-js', function() {
gulp.src([
'./www/js/app.js'
])
.pipe(ngAnnotate())
.pipe(concat('code.min.js'))
.pipe(gulp.dest('./www/js'))
.pipe(livereload());
});
// JSHint task
gulp.task('lint', function() {
gulp.src(paths.js)
.pipe(jscs())
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(livereload());
});
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)
.pipe(livereload());
});
gulp.task('watch', function() {
gulp.watch(paths.sass, ['sass']);
gulp.watch(paths.js, ['lint', 'compress-lib', 'compress-js']);
livereload.listen(9000);
});
gulp.task('install', ['git-check'], function() {
return bower.commands.install()
.on('log', function(data) {
gutil.log('bower', gutil.colors.cyan(data.id), data.message);
});
});
开发期间实时重新加载应用程序(测试版)
运行 或模拟命令会将应用程序部署到指定平台 devices/emulators。您还可以 运行 通过添加 --livereload 选项在指定的平台设备上实时重新加载。实时重新加载功能类似于 ionic serve,但不是使用标准浏览器开发和调试应用程序,编译后的混合应用程序本身会监视对其文件的任何更改,并在需要时重新加载应用程序。这减少了不断重建应用程序以进行小更改的要求。但是,对插件的任何更改仍需要完全重建。要使实时重新加载工作,开发机器和设备必须在同一本地网络上,并且设备必须支持 Web 套接字。
启用实时重新加载后,还可以通过包含 --consolelogs 或 -c 选项将应用程序的控制台日志打印到 terminal/command 提示符。此外,开发服务器的请求日志可以使用 --serverlogs 或 -s 选项打印出来。
运行 的命令行 flags/options 并模拟:
[--livereload|-l] ....... Live Reload app dev files from the device (beta)
[--consolelogs|-c] ...... Print app console logs to Ionic CLI (live reload req.)
[--serverlogs|-s] ....... Print dev server logs to Ionic CLI (live reload req.)
[--port|-p] ............. Dev server HTTP port (8100 default, live reload req.)
[--livereload-port|-i] .. Live Reload port (35729 default, live reload req.)
[--debug|--release]
当服务器 运行 正在实时重新加载时,您可以在 CLI 中使用以下命令:
restart or r to restart the client app from the root
goto or g and a url to have the app navigate to the given url
consolelogs or c to enable/disable console log output
serverlogs or s to enable/disable server log output
quit or q to shutdown the server and exit
如果使用浏览器同步
// 阻止浏览器自动打开
open: false
https://www.browsersync.io/docs/options
browserSync.init({
proxy: 'localhost:8000',
open: false,
browser: "google chrome",
files: [
'./**/*.php'
]
});
这是我的问题,每次我转到控制台并尝试通过 gulp
重新启动服务器时,都会在浏览器中打开一个新选项卡,所以我必须关闭打开的选项卡开始研究新的。
另一个关于相同的问题:
有时代码样式会出现错误,并且一旦您这样做,该选项卡仍然会打开 gulp
,但是您无法开始处理它,直到您修复了代码样式的错误,然后您就可以开始了并执行 gulp
并出现新标签。
这是我的 gulpfile.js
var gulp = require('gulp');
var paths = {
sass: ['scss/**/*.scss'],
js: ['www/js/*.js', 'www/js/**/*.js', '!www/js/lib.min.js', '!www/js/code.min.js']
};
// Dev task
gulp.task('dev', ['sass', 'lint', 'compress-lib', 'compress-js', 'run-ionic'], function() { });
// Build task
gulp.task('default', ['dev', 'lint', 'sass', 'compress-lib', 'compress-js', 'watch']);
//Ionic Serve Task
gulp.task('run-ionic',shell.task([
'ionic serve'
]));
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'))
.pipe(livereload());
});
gulp.task('compress-js', function() {
gulp.src([
'./www/js/app.js'
])
.pipe(ngAnnotate())
.pipe(concat('code.min.js'))
.pipe(gulp.dest('./www/js'))
.pipe(livereload());
});
// JSHint task
gulp.task('lint', function() {
gulp.src(paths.js)
.pipe(jscs())
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(livereload());
});
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)
.pipe(livereload());
});
gulp.task('watch', function() {
gulp.watch(paths.sass, ['sass']);
gulp.watch(paths.js, ['lint', 'compress-lib', 'compress-js']);
livereload.listen(9000);
});
gulp.task('install', ['git-check'], function() {
return bower.commands.install()
.on('log', function(data) {
gutil.log('bower', gutil.colors.cyan(data.id), data.message);
});
});
开发期间实时重新加载应用程序(测试版)
运行 或模拟命令会将应用程序部署到指定平台 devices/emulators。您还可以 运行 通过添加 --livereload 选项在指定的平台设备上实时重新加载。实时重新加载功能类似于 ionic serve,但不是使用标准浏览器开发和调试应用程序,编译后的混合应用程序本身会监视对其文件的任何更改,并在需要时重新加载应用程序。这减少了不断重建应用程序以进行小更改的要求。但是,对插件的任何更改仍需要完全重建。要使实时重新加载工作,开发机器和设备必须在同一本地网络上,并且设备必须支持 Web 套接字。
启用实时重新加载后,还可以通过包含 --consolelogs 或 -c 选项将应用程序的控制台日志打印到 terminal/command 提示符。此外,开发服务器的请求日志可以使用 --serverlogs 或 -s 选项打印出来。
运行 的命令行 flags/options 并模拟:
[--livereload|-l] ....... Live Reload app dev files from the device (beta)
[--consolelogs|-c] ...... Print app console logs to Ionic CLI (live reload req.)
[--serverlogs|-s] ....... Print dev server logs to Ionic CLI (live reload req.)
[--port|-p] ............. Dev server HTTP port (8100 default, live reload req.)
[--livereload-port|-i] .. Live Reload port (35729 default, live reload req.)
[--debug|--release]
当服务器 运行 正在实时重新加载时,您可以在 CLI 中使用以下命令:
restart or r to restart the client app from the root
goto or g and a url to have the app navigate to the given url
consolelogs or c to enable/disable console log output
serverlogs or s to enable/disable server log output
quit or q to shutdown the server and exit
如果使用浏览器同步
// 阻止浏览器自动打开
open: false
https://www.browsersync.io/docs/options
browserSync.init({
proxy: 'localhost:8000',
open: false,
browser: "google chrome",
files: [
'./**/*.php'
]
});