Requirejs - 在加载 data-main 之前配置 require

6
我们第一次使用requirejs,我在处理依赖关系方面遇到了麻烦。
我将主要的app.js文件定义为index.html中data-main属性的值:
<script data-main="src/app" src="/js/lib/require/require.js"></script>

但是,我有一个文件定义了所有的需要路径和shim配置,我希望在运行app.js之前先运行它。我需要它运行,以便在我的app.js中将已配置的路径作为依赖项引用。

我认为正确的方法不是将我的config.js作为data-main。我尝试像这样设置config.js作为依赖项:

   <script type="text/javascript">
        var require = {
            baseUrl: "/",
            deps: ["src/config"]
        }
    </script>
    <!-- data-main is the main js file of the app -->
    <script data-main="src/app" src="/js/lib/require/require.js"></script>

但是那没有帮助。有什么建议吗?

2
尝试将shim/path配置选项放置在var require = {}中。 - Simon Smith
1个回答

4
在我的情况下,我在app.js中加载config.js,以便为每个页面共享配置。
例如:
require(['config'], function(){
  require(['module','another'], function(){
    // run with all modules
  });
});

为了优化这个项目,使用 has.js 是减少 HTTP 连接的更好方式。有关详细信息,请参见此示例项目

我最终做了类似的事情来实现“链接”效果。我创建了一个init.js文件作为我的data-main,里面我做了以下操作: require(['config'], function (appConfig) { require(['app'], function(app){ require(['appStart']); }); });config - 包含require路径配置。 app - 创建我的应用程序对象和一些其他初始化函数。 appStart - 启动应用程序。 - elanh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接