2015-06-21 144 views
0

我有一个小型自制的框架。我在几个项目中使用它,我想以便于格式重用它。创建一个子模块模块

我想组织代码如下:

  • 每个原型都有自己的文件
  • 每个文件是require.js模块
  • 我想所有的文件在一个结合在一起运输文件。

我已经使用r.js将所有文件组合在一起,但是如何从另一个不是组合文件的js文件中加载require(...)模块?或者更详细的,我想在另一个应用程序中使用组合文件中的模块,该应用程序具有自己的模块。

我的意思是,require.js预计每个文件只有一个模块,我现在有N个模块在一个文件中...

回答

1

你所描述的是bundles的选择是什么。以从the documentation一个例子:

bundles: { 
    'primary': ['main', 'util', 'text', 'text!template.html'], 
    'secondary': ['text!secondary.html'] 
} 

有了这个时候,如果你需要main从包外,和main尚未被加载,然后RequireJS会知道它会发现模块main在同一个地方,模块primary位于。

+0

是否可以将该bundle-config导出为由r.js创建的优化和组合的js文件的一部分?这会使捆绑用户不能自己定义配置。否则,捆绑用户必须知道其内容。 – treeno

+0

几个月前我遇到了必须为我的一个项目生成这样一个列表的问题,我不得不以半手动的方式来完成。 (不幸的是,我的解决方案不是一般的解决方案。)我不知道自动生成它的方法。 – Louis

+1

作为捆绑的作者,我可以在我的情况下手动编写。但我不希望捆绑包的用户(可能是其他人)必须这样做。所以,如果我可以在捆绑包itselfe中定义捆绑包,这样会更好,以便用户可以直接使用捆绑包中的moduleIds。 – treeno