javascript - 如何避免 GULP 打开新标签页?

标签 javascript ionic-framework gulp

这是我的问题,每次我转到控制台并尝试通过 gulp 重新启动服务器时,都会在浏览器中打开一个新选项卡,因此我必须关闭已打开的选项卡并开始研究新的。

还有另一个关于相同的问题:

有时代码样式会出现错误,并且一旦您执行 gulp 选项卡仍会打开,但是在修复代码样式错误之前您无法开始处理它,然后您去执行 gulp 然后新标 checkout 现。

这是我的 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);
    });
});

最佳答案

开发期间实时重新加载应用(测试版)

运行或模拟命令会将应用程序部署到指定的平台设备/模拟器。您还可以通过添加 --livereload 选项在指定的平台设备上运行实时重新加载。实时重新加载功能类似于 ionic serve,但不是使用标准浏览器开发和调试应用程序,编译后的混合应用程序本身会监视对其文件的任何更改,并在需要时重新加载应用程序。这减少了不断重建应用程序以进行小更改的要求。但是,对插件的任何更改仍需要完全重建。要使实时重新加载工作,开发机器和设备必须在同一本地网络上,并且设备必须支持 Web 套接字。

启用实时重新加载后,还可以通过包含 --consolelogs 或 -c 选项将应用程序的控制台日志打印到终端/命令提示符。此外,开发服务器的请求日志可以使用 --serverlogs 或 -s 选项打印出来。

运行和模拟的命令行标志/选项:

[--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

关于javascript - 如何避免 GULP 打开新标签页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28589511/

相关文章:

css - gulp concat JS 库 CSS

javascript - 你如何使用 browserify 从 node_modules 加载 typescript 模块?

javascript - ES5/6/Next 在 JavaScript 中对数组进行分组或 block 迭代的方法

javascript - Zeroclipboard 未将 Flash 按钮精确定位在 div 顶部

javascript - React js -[违规] 向滚动阻塞 'mousewheel' 事件添加了非被动事件监听器

Android Ionic Cordova - 错误 : Failed to get absolute path to installed module

javascript - 带有清除字段按钮的 Angular JS ionic 搜索框

javascript - 替换中的回调函数(循环内)

angular - 无法在 ionic 功能之外获得 promise 值

node.js - 具有合并流的 gulp-order Node 模块