2

我有一个使用 RequireJS 跨越多个文件的 Javascript 应用程序,我想将其连接成一个用于生产环境。

我一直在查看grunt-contrib-requirejs但设置配置的说明Gruntfile.js假设您已经拥有连接的生产源。我知道我也可以使用grunt-contrib-concat它,但我想知道是否有办法使用grunt-contrib-requirejs模块来做到这一点。

我也尝试过为name配置中的字段使用通配符选择,但是虽然 Grunt 可以很好地处理规范,例如app/**/*.js grunt-contrib-requirejs在我指定它时不会将它们连接起来。

我找到了如何执行此操作的示例modules,但是当我在数组中包含多个条目时,运行 Grunt 会抱怨某些文件无法加载它们在主文件的require.config.

例如,如果这是main.js

require.config({
  paths: {
    'angular': 'http://some.cdn/angular.min'
  },
  shim: {
    angular: {
      exports: 'angular'
    }
  }
});

//Set up basic code

这是controllers/ctrl.js

define(['angular'], function(angular) {
  ...
});

然后它显然没有从中加载配置main.js并抱怨没有文件/my/project/controllers/angular.js

我还尝试将配置移动到使用该mainConfigFile选项指定的文件中,但是此选项不起作用,并且似乎此选项旨在采用 Grunt 配置而不是 RequireJS 配置。

4

0 回答 0