node.js - 配置 Gulp 'watch' 任务以进行非常基本的服务器重启(Node JS)

标签 node.js gulp gulp-watch

当我对 Controller 文件进行更改时,我试图让 Gulp“监视”任务重新启动服务器..以获取这些更改,而无需手动重新启动服务器。

有人可以发布一个小示例,其中包含正确运行它的说明吗?

最佳答案

所以有很多很棒的教程,但恕我直言,它们似乎没有分解像我这样的 Gulp 新手正在寻找的逐步细节。这篇文章假设读者对如何使用 Node JS 设置路径有基本的了解,并且旨在仅解决与现有 Gulp 引用的那些明显的差距。

下面是一个完整的 gulpfile.js 处理

  • 服务器重新启动
  • 缩小

如何运行 Gulp 任务

A) 使用 gulp 启动服务器。

$ gulp

$ gulp dev

对文件进行一些更改并查看它重新启动

B) 运行缩小任务

$ gulp minify_js

在 Node 设置中,在相应的目录中查找生成的文件bundle.js

gulpfile.js

'use strict';

var gulp = require('gulp'),
     jshint = require('gulp-jshint'),
     concat = require('gulp-concat'),
     uglify = require('gulp-uglify'),
     rename = require('gulp-rename'),
     nodemon = require('gulp-nodemon'),
     minifyCss = require('gulp-minify-css'),
     sourcemaps = require('gulp-sourcemaps'),
     plugins = require('gulp-load-plugins')();


gulp.task('dev', function () {
  return plugins.nodemon({
    watch: ['config','controllers', 'models', 'util', 'routes', 'server.js'],
    script: 'server.js'
  });
});

gulp.task('minify_js', function() {
      return gulp.src('public/js/*.js')
        .pipe(sourcemaps.init())
          .pipe(concat('bundle.js'))
          //only uglify if gulp is ran with '--type production'
          // .pipe(gutil.env.type === 'production' ? uglify() : gutil.noop()) 
          .pipe(uglify()) 
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('public/js'));
    });

gulp.task('default', ['dev']);

关于node.js - 配置 Gulp 'watch' 任务以进行非常基本的服务器重启(Node JS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30627232/

相关文章:

javascript - Mongoose 和 Node 查询的时机

javascript - 获取vscode中任务文件的相对路径

javascript - Gulp 循环监视任务

javascript - JS (node.js) - 如果我进行异步调用但不等待它完成,是否可以保证完成执行?

node.js - AWS Lambda postgres 查询超时

node.js - 从一组 gulp 任务运行时,NPM del 抛出 ENOTEMPTY 错误

php - 如何使用像 gulp.js 这样的构建系统和像 Bower 这样的依赖管理器

javascript - Gulp 监视文件的添加和删除

javascript - 用 gulp 观看所有文件?

javascript - Node 程序/模块读取自己的package.json : is that possible?