gpt4 book ai didi

node.js - requireJs 构建脚本

转载 作者:太空宇宙 更新时间:2023-11-03 22:18:46 24 4
gpt4 key购买 nike

我有如下代码

define("ModuleA", ["InitialDependency"], function (initDep){
return {};
});


define("ModuleB", ["ModuleA", "OtherDependency"], function (moduleA, otherDep){
return {};
});

每个模块都在单独的文件“ModuleA.js”、“Moduleb.js”、“InitialDependency.js”和“OtherDependency.js”中定义。

这些模块在我的应用程序中按顺序加载。 ModuleB 始终在 ModuleA 之后加载。这意味着在优化阶段我不希望将 ModuleA 的脚本合并到 ModuleB 的构建脚本中。我想要以下内容

ModuleA.built.js 包括

  • 初始依赖
  • 模块A

ModuleB.built.js 包括

  • 其他依赖项
  • 模块B

我不希望它们全部位于同一个文件中,但是因为 ModuleB 可能永远不会被加载。

我可以为这两个模块编写一个构建脚本,但这将非常耗时,因为我的项目中有相当多的模块,并且希望有一个构建脚本可以一次构建很多模块。

创建一个构建脚本来构建这两个模块(以及更多遵循相同依赖模式的模块)时,我需要知道什么?

最佳答案

要实现此目的,您必须使用 modules 配置选项。

它可能看起来像这样:

{
modules: [
{
name: "ModuleA",
include: [],
exclude: []
},
{
name: "ModuleB",
exclude: [
"moduleA"
]
}
]
}

James 这里有一个类似的示例设置:https://github.com/requirejs/example-multipage

当然,通过单独构建这些模块,您最终可能需要更新路径。如果是这样,最好的方法是创建一个包含 require.config 调用的文件,其中包含针对您构建的应用程序的特殊设置,并包含此配置而不是通常的配置。但是,如果您以良好的分离方式设置依赖关系,那么您可能会没事。通过“良好分离”的方式,我的意思是如果 moduleA 是基本脚本,那么它不应该具有包含 moduleB 的依赖项 - 但我想这是常识!

有关 shimmed 模块的注意事项:由于 shimmed 配置仅在加载文件并由 r.js 订购插件时才起作用,因此如果您是这样,请确保不要包含没有依赖项的 shim 模块不能 100% 确定这些之前会被加载。更多信息请点击:https://github.com/requirejs/example-multipage-shim

希望这有帮助!

关于node.js - requireJs 构建脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12660334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com