是否有办法根据设置的NODE_ENV
指定 Gulp 任务?
例如,在我的package.json
文件中,我有这样的内容:
"scripts": {
"start": "gulp"
}
我有多个gulp
任务
gulp.task('development', function () {
// run dev related tasks like watch
});
gulp.task('production', function () {
// run prod related tasks
});
如果我设置了NODE_ENV=production npm start
,我可以指定只运行gulp production
吗?或者有更好的方法来做到这一点吗?
5条答案
按热度按时间goqiplq21#
在默认的gulp任务中使用一个三元组,可以得到如下结果:
然后,您就可以在
package.json
中保留单个gulp
命令,并按照您所说的那样使用该命令:NODE_ENV
变量的任何其他值都将启动development
任务。当然,您可以使用一个允许执行多个任务并避免
if
树地狱的对象来进行高级使用:请记住,当给出一组任务时,它们将并行运行。
mbzjlibv2#
让您的第一个gulp任务基于
process.env.NODE_ENV
值运行其他gulp任务。r1zhe5dt3#
另一个简单的方法是
运行
gulp production
或gulp development
。sg2wtvxw4#
您也可以使用gulp-mode插件。
用法:
或
开始组建为:
对于“npm运行脚本”用例:
7gs2gvoe5#