优化后缺少requireJS module.config()

时间:2014-07-08 14:08:39

标签: requirejs requirejs-optimizer

运行RequireJS优化器时遇到问题...我在主配置文件中定义了以下内容:

require.config({

  config: {
    bootstrap: {
      autoload: true
    }
  },

  ... 
}

然后在我的bootstrap.js文件中执行:

define(['module', 'app'], function (module, App) {
  'use strict';

  console.log(module.config().autoload);

  ...
});

但是autoloadundefined :(但是非优化版本中的变量 可用。

我已尝试使用其他模块和其他变量,但基本上没有模块配置被推送到Require's Optimizer的输出文件中。

这是预期的行为吗?

1 个答案:

答案 0 :(得分:0)

我知道这有点晚了,但是我花了将近半天的时间来解决同样的问题,最后发现这个有用了:

显然config.js文件或主配置是编译时配置,不会成为运行/构建配置的一部分。所以解决方案是使用requirejs.config({})将模块配置添加到main.js文件的顶部; (这是因为在编译和缩小/ uglifying之前它已经使用了config。)

例如:

在main.js顶部添加:

requirejs.config({
  config: {
    bootstrap: {
      autoload: true
    }
  }
};)