cus*_*ice 5 javascript node.js gulp
有没有办法根据NODE_ENV设置来指定gulp任务?
例如在我的package.json文件中,我有类似的东西:
"scripts": {
"start": "gulp"
}
Run Code Online (Sandbox Code Playgroud)
我有多个gulp任务
gulp.task('development', function () {
// run dev related tasks like watch
});
gulp.task('production', function () {
// run prod related tasks
});
Run Code Online (Sandbox Code Playgroud)
如果我设置NODE_ENV=production npm start,我可以指定只运行gulp production吗?或者有更好的方法吗?
Bal*_*zar 16
在默认的gulp任务中使用单个三元组,您可以使用以下内容:
gulp.task('default',
[process.env.NODE_ENV === 'production' ? 'production' : 'development']
);
Run Code Online (Sandbox Code Playgroud)
然后,您将能够将单个gulp命令保留在您的package.json使用中,就像您说的那样:
NODE_ENV=production npm start
Run Code Online (Sandbox Code Playgroud)
NODE_ENV变量的任何其他值都将启动development任务.
你当然可以使用一个允许多个任务和避免if树木地狱的对象来进行高级用法:
var tasks = {
development: 'development',
production: ['git', 'build', 'publish'],
preprod: ['build:preprod', 'publish:preprod'],
...
}
gulp.task('default', tasks[process.env.NODE_ENV] || 'fallback')
Run Code Online (Sandbox Code Playgroud)
请记住,在提供一系列任务时,它们将并行运行.
| 归档时间: |
|
| 查看次数: |
17836 次 |
| 最近记录: |