在我的(第一个)Webpack构建中,我很难理解我应该如何加载一个简单公开全局var的脚本。
我尝试加载的脚本基本上是这样的:
//File: MyLibrary.js
var MyLibrary = (function(window) {
function MyLibrary() {
// Do librarious stuff
}
return MyLibrary;
})(typeof window !== 'undefined' ? window : null);
我认为我应该使用exports-loader
,因为根据文档,它应该只适用于这种情况:
该文件使用
在全局上下文中设置变量var XModule = ....
var XModule = require("exports?XModule!./file.js")
所以我把它放在我的配置中:
module: {
loaders: [
{
test: /MyLibrary\.js$/,
loader: "exports?MyLibrary!./MyLibrary.js"
}
]
}
但这会导致错误:
装载程序中的错误MyLibrary.js没有返回函数
让我感到困惑,因为它不应该返回一个函数,这就是为什么我使用这个特殊的加载器...
那么我应该如何加载脚本?
答案 0 :(得分:2)
您没有在loader
属性中指定库的路径,只需:
module: {
loaders: [
{
test: /MyLibrary\.js$/,
loader: "exports?MyLibrary"
}
]
}