如何要求未与webpack一起打包为UMD兼容模块(AMD,CommonJS)的JavaScript库?
我不希望库通过加载器。我只是希望它在需要时包含在<script>
标记中,并且webpack可以管理这种依赖。
我不想简单地将它放在我的index.html
中的脚本标记中,因为我想利用webpack的代码分割,并且只在必要时包含它。
我读过'外部',我不确定这与它有什么关系。文档不够清晰。
谢谢:)
此问题还特别针对前端库,只需通过<script>
标记即可使用。
答案 0 :(得分:-1)
您可以向库中添加amd支持,然后使用webpack加载它。 一些可以帮助您实现的链接是:
基本上做的是在库的顶部你可以检查它是commonjs环境还是AMD环境。因此,您可以导出您的库。
一个例子可以是这个(取自1st link)
(function (root, factory) {
if(typeof define === "function" && define.amd) {
// Now we're wrapping the factory and assigning the return
// value to the root (window) and returning it as well to
// the AMD loader.
define(["postal"], function(postal){
return (root.myModule = factory(postal));
});
} else if(typeof module === "object" && module.exports) {
// I've not encountered a need for this yet, since I haven't
// run into a scenario where plain modules depend on CommonJS
// *and* I happen to be loading in a CJS browser environment
// but I'm including it for the sake of being thorough
module.exports = (root.myModule = factory(require("postal")));
} else {
root.myModule = factory(root.postal);
}
}(this, function(postal) {
// module code here....
return myModule;
}));