我想获得一些关于将子模块组装成更大项目的最佳实践建议。在开发模式下,它可以正常工作,因为需要动态解决所有代表 - 但它需要为GWT应用程序生成,现在显然难以通过回调消耗异步内容。
结构如下(这可以单独构建并根据需要创建文件):
要在像这样加载的应用中使用:
<script src='require.js'></script>
<script src='main-lib-min.js'></script>
<script src='component-a-min.js'></script>
<script src='component-n-min.js'></script>
<!-- client to all these files is a single app to kick off: -->
<script src='app.js'></script>
main被定义为require wrap并在完成时触发事件。
组件是define()
包装中的模块集合。
问题是,app.js
在所有引用都已解决之前不应引用任何内容。并且component-A
可能引用main-lib
的导出,因此在上一个脚本加载之前不应对其进行评估。
r.js
构建已预先打包所有内容,因此工厂应该能够返回上面定义的任何模块。
即。这样做的:
var foo = require('foo');
应该没问题。
如果app.js创建为:
require(['foo'], function(foo){
});
然后它的工作原理。
有没有人有过制作这种组件构建/模块模式的经验?你会将main-lib build config中的所有模块都包含在modules: []
中,以便它们彼此等待吗?如果你想让客户端(即html文件)成为添加模块的客户端怎么办?