跨多个配置整合 RequireJS Shim 定义
Consolidate RequireJS Shim definition across multiple configurations
我在大型应用程序中使用 RequireJS。我还使用优化工具 optimize/minify 我的代码。
我有我的数据主文件,Main.js。在这个文件中,我定义了一组垫片:
require.config({
baseUrl: "js",
shim: {
"libs/shimmedLibrary": {
deps: ["libs/blah"],
exports: "shimmedLibrary"
}
}
});
此外,我还有我的 buildconfig.js 文件,其中定义了优化参数:
({
baseUrl: "../js",
shim: {
"libs/shimmedLibrary": {
deps: ["libs/blah"],
exports: "shimmedLibrary"
}
},
include: ["requireLib"],
name: "js/Main",
out: "../bin/js/Main-built.js",
optimize: "none"
})
查看这两个配置,可以看出 shim
对象在两个文件中是相同的。这会让人有点头疼,因为如果我必须添加一个 shim
对象,我必须确保我在两个配置文件中都添加了 shim 引用。实际上,我的 shim 对象实际上包含大约十几个 shim,因此这使得维护有点麻烦。
我有什么方法可以创建对我的 shim
对象的单个共享引用,这样我的数据主 Main.js 文件和优化 buildconfig.js 文件都可以两者都重复使用相同的引用?
在构建配置中使用 mainConfigFile
选项,使其指向包含运行时配置的文件:
mainConfigFile: "js/Main.js"
我在大型应用程序中使用 RequireJS。我还使用优化工具 optimize/minify 我的代码。
我有我的数据主文件,Main.js。在这个文件中,我定义了一组垫片:
require.config({
baseUrl: "js",
shim: {
"libs/shimmedLibrary": {
deps: ["libs/blah"],
exports: "shimmedLibrary"
}
}
});
此外,我还有我的 buildconfig.js 文件,其中定义了优化参数:
({
baseUrl: "../js",
shim: {
"libs/shimmedLibrary": {
deps: ["libs/blah"],
exports: "shimmedLibrary"
}
},
include: ["requireLib"],
name: "js/Main",
out: "../bin/js/Main-built.js",
optimize: "none"
})
查看这两个配置,可以看出 shim
对象在两个文件中是相同的。这会让人有点头疼,因为如果我必须添加一个 shim
对象,我必须确保我在两个配置文件中都添加了 shim 引用。实际上,我的 shim 对象实际上包含大约十几个 shim,因此这使得维护有点麻烦。
我有什么方法可以创建对我的 shim
对象的单个共享引用,这样我的数据主 Main.js 文件和优化 buildconfig.js 文件都可以两者都重复使用相同的引用?
在构建配置中使用 mainConfigFile
选项,使其指向包含运行时配置的文件:
mainConfigFile: "js/Main.js"