使用NPM'pre'脚本

时间:2015-08-03 23:48:25

标签: node.js npm gulp

使用NPM,我们可以使用前脚本作为预挂钩运行(也有后挂钩)。

我想在运行我的npm脚本之前运行'gulp default',如下所示:

"scripts":{
   "prestart_dev": "gulp default",
    "start_dev": "node ./bin/www"
}

我跑了这个:

npm run start_dev

prestart_dev正如预期的那样运行,但它并没有启动start_dev,它只是坐在那里。知道我能做些什么来解决它吗?好像它应该按原样运作。

我的Gulp默认任务如下所示:

gulp.task('default', function () {

    gulp.run('build_requirejs_pipe');

    gulp.watch('public/static/app/js/controllers/**/*.js', function () {
        gulp.run('build_requirejs_pipe');
    });

});

(可能是我的默认任务需要返回一些东西?)

1 个答案:

答案 0 :(得分:4)

所以我的预感是gulp default仍然在前台,因为它会一直监视文件系统的变化,直到明确停止。因此,从npm的角度来看,prestart_dev永远不会完成,因此它不会进入start_dev

通常,对于开发,大多数开发人员希望在一个终端中的前台运行其服务器进程,并且在单独的终端中也在前台运行任何基于监视的实用程序。你可以考虑将这两件事分开,而不是将它们联系起来。