javascript - dev 和 prod 之间的 Grunt 切换任务

标签 javascript gruntjs

我有一个 grunt 文件,我正在尝试查看是否可以拆分,以便我可以调用类似 grunt build:devgrunt build:prod 的东西。

现在任务看起来像这样 -

grunt.registerTask('build', "Building all needed files.", [
    'clean:build',
    'check-code',
    'clean:dist',
    'dist:prepare',
    'copy',
    'cssmin',
    'injector',
    'webpack:prod',
    'create-status-page'
]);

我想知道是否有一种方法可以像使用 devprod 键的配置那样拆分此任务,其中 prod 的任务列表与开发略有不同。有点类似于你如何使用 tha 配置来做到这一点

 return {
    dev: {
     ...
    },
    prod: {
     ...
    }  
 }

这样的事情可能吗?明确地说,我问的是我是否可以在一个任务中注册这两个。

最佳答案

您可以使用 multitask .

grunt.initConfig({
  build: {
    dev:  ['task1', 'task2', 'task3'],
    prod: ['taskA', 'taskB', 'taskC']
  }
});

grunt.registerMultiTask('build', 'Building...', function() {
  grunt.task.run(this.data);
});

然后你可以做 grunt build:devgrunt build:prod

注意:如果您只是执行 grunt build,它将遍历所有属性,因此它会同时运行开发任务和生产任务。

关于javascript - dev 和 prod 之间的 Grunt 切换任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38983168/

相关文章:

javascript - 如何获取内部具有不同键名称和内容的嵌套 json 数组数据?

javascript - Grunt 展开文件,src 中可接受哪些模式?

angularjs - 将 MobileServiceClient 与 AngularJS 集成

javascript - 当 grunt 构建用于产品时删除 dev/sit 代码

javascript - PhantomCSS/CasperJS - 广告图像变灰

javascript - grunt 中的 less 文件观察器不更新 css

javascript - d3.js 条件词颜色填充wordcloud

javascript - 仅显示 React 组件的 html 内容

javascript - 工厂的 AngularJS 本地存储

javascript - 在 jquery 中使用 hasClass 未检测到内部类名称