gpt4 book ai didi

javascript - 根据 NODE_ENV 设置 gulp 任务

转载 作者:数据小太阳 更新时间:2023-10-29 05:45:18 24 4
gpt4 key购买 nike

有没有办法根据设置的 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吗?或者有更好的方法吗?

最佳答案

在你的默认 gulp 任务中使用一个三元组,你可以有类似的东西:

gulp.task('default',
[process.env.NODE_ENV === 'production' ? 'production' : 'development']
);

然后你将能够在你的 package.json 中保留单个 gulp 命令并像你说的那样使用它:

NODE_ENV=production npm start

NODE_ENV 变量的任何其他值都将启动 development 任务。


您当然可以使用一个允许多个任务并避免 if 树 hell 的对象进行高级用法:

var tasks = {
development: 'development',
production: ['git', 'build', 'publish'],
preprod: ['build:preprod', 'publish:preprod'],
...
}

gulp.task('default', tasks[process.env.NODE_ENV] || 'fallback')

请记住,当给出一组任务时,它们将并行运行。

关于javascript - 根据 NODE_ENV 设置 gulp 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29223471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com