grunt-config-requirejs比命令行上的r.js慢很多

时间:2015-02-28 12:38:00

标签: gruntjs requirejs

我想在grunt-contrib-requirejs github上发布这个问题,但似乎他们不接受提交问题。

当我运行r.js时需要大约3秒但是当我使用这个模块执行单个grunt任务时,它使用完全相同的选项需要13秒。我用时间咕噜来分析这个,所以我非常有信心这次不包括咕噜声的设置时间:

loading tasks       3.2s
requirejs:compile  13.3s

这是我的配置:

    requirejs: {
      compile: {
        options: {
          mainConfigFile: 'scaling-tool/js/main.js',
          baseUrl: 'scaling-tool/js',
          removeCombined: true,
          findNestedDependencies: true,
          dir: 'scaling-tool/dist',
          name: 'main',
          optimize: 'none'
        }
      }
    },

如果没有设置optimize: 'none'选项,则需要25秒!

编辑:我现在通过使用grunt-shell来运行r.js命令处理这个问题,但这是一个解决方法而不是答案

1 个答案:

答案 0 :(得分:0)

运行Grunt任务的时间量正在快速增长,因为你定义了多少任务,无论如何我理解你的情况是单独完成该任务,一个问题:你是否一直需要这个任务?只在生产模式?如果这是你的情况,你可以一直省略/注册/运行该任务并完成我的干预,我可以告诉你两个选择:

  1. 在命令行执行中使用一个参数忽略该任务
  2. 使用命令行r.js选项合并您的资产,但您可以在Gruntfile中使用grunt-exec调用此命令行调用。