Require.js - 如何动态加载已编译的模块?

时间:2015-02-12 18:36:02

标签: javascript requirejs

如果我有这样的 Build Config ......

({
    appDir: 'app',
    baseUrl: '.',
    dir: 'dist',    
    modules: [
        {
            name: 'main',
        },{
            name: 'modules/example/ExampleController',
            exclude: ['main']
        },{
            name: 'modules/another/AnotherController',
            exclude: ['main']
        },{
            ...
        }
    ]
})

...和目录结构一样......

├── app
│   ├── modules
│   │   ├── example
│   │   ╰── another
│   │       ├── AnotherController.js
│   │       ╰── AnotherView.stache
│   ╰── main.js
├── dist
│   ├── modules
│   │   ├── example_module
│   │   ╰── another_module
│   │       ╰── AnotherController.js
│   ╰── main.js
├── build.js
╰── index.html

...和 index.html 一样......

<html lang="en">
    <head>
        <script src="lib/requirejs/require.js" data-main="dist/main.js"></script>
    </head>
    <body></body>
</html>

然后第一个 dist / main.js 加载很好,但动态加载另一个/ AnotherController.js 模块将从加载非优化的模块应用,而不是来自 dist 的已编译/优化版本,因为构建配置包含 appDir:&#39; app&#39; 。但是,更改 appDir 会破坏构建。

那我该如何动态加载已编译的模块?

0 个答案:

没有答案