我有一个包含2个requirejs模块的凉亭包 -
- src
- a.js <- this is the primary package/amd module which lists b.js as a module dependency
- b.js
所以我们最终得到这样的东西:
// a.js
define(['./b'], function(b){})
问题在于,当我将此包添加为单独项目的依赖项时,require.js配置将仅成功解析模块a的路径。
维护包含多个rjs模块的bower包的最佳解决方案是什么,而无需在父项目中手动配置rjs packages
键?
我希望能够从bower.json成功自动构建我的rjs配置,就像grunt bower和其他npm构建模块一样。
部分我认为这是责任,因为应该有一个选项将包定义为多个文件。
我还怀疑可能有一种方法可以将模块连接到一个文件中,但我不知道该怎么做。
答案 0 :(得分:0)
我明白了。该解决方案涉及连接所述文件以制作一个凉亭包。
// This will build all 3 files into a single concatenated pkg
// 'efficient-frontier', 'everestjs', 'sem-campaign'
// nmp install -g rjs
// r.js -o require.build.js optimize=none
// Below is a file in my root named 'require.build.js'
({
baseUrl: "",
paths: {
everestjs: './vendor/bower/everestjs/index',
requirejs: './vendor/bower/requirejs/require',
'jquery.cookie': './vendor/bower/jquery.cookie/jquery.cookie',
'sem-campaign': 'dist/shared/sem-campaign',
'efficient-frontier': 'dist/shared/efficient-frontier',
jquery: './vendor/bower/jquery/jquery'
},
// Exclude the packages you expect to be included in the parent project
exclude: ['jquery','jquery.cookie'],
name: "sem-campaign",
out: "./dist/sem-campaign.js"
})
最终的包装凉亭是3个连接的rjs模块。此示例中的包是sem-campaign。