我有一种感觉,标题可能无法解释:)
设置
假设我有以下结构:
其中app.js
文件是应用程序的主要引导/入口模块,如下所示:
应用01
require.config({});
require([
'app/component1.js'
],
function(component){
// do something with component1
});
应用02
require.config({});
require([
'app/component2.js'
],
function(component){
// do something with component2
});
两者都适用于适当的index.html
文件。
我有一个app01的 RequireJS 构建配置文件(假设与路径相关的正确放置):
({
appDir: 'apps/app01',
baseUrl: '.',
dir: 'built_apps/app01',
optimize: 'closure',
paths: {
},
modules: [
{
name: 'app'
}
]
})
效果很好。类似的文件(替换app01
为app02
)适用于app02。
问题/目标
现在我希望能够使用相同的构建配置文件为app01和app02应用程序运行 RequireJS 构建工具(在 Ant 下使用带有 Rhino 的 Google Closure,在这种情况下并不重要) ,最好不要实际列出所有应用程序的名称(因为数量和名称可能会随时间而变化)。
基本上我希望(或者更确切地说希望)有这样的东西:
({
appDir: 'apps',
baseUrl: '.',
dir: 'built_apps',
optimize: 'closure',
paths: {
},
modules: [
{
name: 'app*/app' // notice the wildcard
}
]
})
它将运行built_apps
目录,找到 app*/app 下的所有应用程序并优化它们中的每一个。
我知道我可以使用 Ant 为每个应用程序动态创建这样的构建配置文件,针对它运行构建然后清理,但我宁愿拥有 RequireJS 解决方案。
有没有办法用 RequireJS 做这样的事情?