晚上好!
我有这个包含多个包的monorepo,其中每个包都使用Webpack独立捆绑。
在它是monorepo之前,我会有一个捆绑文件,并且可以通过output.library
属性在浏览器中通过全局变量提供它。现在我有以下内容,因为我有多个条目:
output: {
library: "SC",
// export itself to UMD format
libraryTarget: "umd",
umdNamedDefine: true,
filename: "[name]/dist/organization-[name].js",
// fix for https://github.com/webpack/webpack/issues/6525
globalObject: `(typeof self !== 'undefined' ? self : this)`
}
问题是,如果我对每个包使用相同的配置,并且我使用脚本标签将多个导入到浏览器,则实际上只有最新的脚本可用,因为它实际上每次都重新创建全局变量。
有没有办法重复使用它?或许我可以在这里使用更好的约定。例如,在节点中,我使用包名称导入它们,但在浏览器中,我觉得它们应该都在同一个全局变量下。
谢谢你的任何建议!
正如我在webpack的repository创建的问题中提到的,解决方案是使用以下内容:library: ["MyLibrary", "[name]"]
这将使所有包在相同的全局变量MyLibrary
下可用,但由它们各自的条目(即MyLibrary.entryOne
和MyLibrary.entryTwo
)分开。