【问题标题】:Gulp-nodemon and watch taskGulp-nodemon 和监视任务
【发布时间】:2016-07-22 05:17:12
【问题描述】:

我正在尝试使用 gulp 和 nodemon 创建构建流程。目的是观察 sass 文件并将其编译为 css,并在服务器文件更改时重新启动节点应用程序。

我的 gulpfile.js:

gulp.task('sass', function(){
  return gulp.src(sassFilesTobeProcessed).
  pipe(sass()).
  pipe(concat('ready_stylesheet.css')).
  pipe(gulp.dest('express/public/stylesheets'))
})

gulp.task('watch', function(){
  return gulp.watch(allSassFiles, ['sass']);
})

gulp.task('serve', function(){
  return nodemon({
    script: 'express/app.js',
  }).on('start', ['watch'])
  .on('change', ['watch'])
  .on('restart', function(){
      console.log('restarted');
    })
})

监视任务工作正常,文件在更改后编译。但是我的 app.js 服务器文件中的更改不会触发服务器重启。当我评论 .on 语句时,它开始正常工作(服务器重新加载),但是当然不再观察到 sass 文件。因此,我假设这两者之间存在一些我无法发现的冲突。感谢任何帮助!我的操作系统 - Windows 7、node 4.2.6、nodemon 1.9.1

【问题讨论】:

    标签: node.js gulp nodemon


    【解决方案1】:

    使用任务依赖而不是 .on(event) 来启动您的 watch 任务:

    gulp.task('serve', ['watch'], function(){
      return nodemon({
        script: 'express/app.js',
      })
      .on('restart', function(){
        console.log('restarted');
      })
    })
    

    【讨论】:

      【解决方案2】:

      使用 nodemon 发出重启事件

      const cfg = require('../config')
      const gulp = require('gulp')
      const nodemon = require('nodemon')
      const gnodemon = require('gulp-nodemon')
      
      gulp.task('nodemon', ['ts', 'json'], () => {
        gnodemon({
          script: cfg.paths.main,
          tasks: ['ts', 'json'],
          ext: 'js',
          watch: [cfg.paths.src],
          // para no alterar el entorno de prodicion con test
          env: {'NODE_ENV': process.env.NODE_ENV !== 'production'
            ? process.env.NODE_ENV || 'development' : 'development'}
        })
        .on('start', ['mocha'])
      })
      
      gulp.task('default', ['nodemon'], () => {
        gulp.watch(cfg.paths.src, (event) => nodemon.emit('restart'))
      })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-03-08
        • 1970-01-01
        • 1970-01-01
        • 2023-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多