使用在Webpack构建中公开全局var的脚本

时间:2015-07-20 10:08:55

标签: javascript webpack

在我的(第一个)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没有返回函数

让我感到困惑,因为它不应该返回一个函数,这就是为什么我使用这个特殊的加载器...

那么我应该如何加载脚本?

1 个答案:

答案 0 :(得分:2)

您没有在loader属性中指定库的路径,只需:

module: {
    loaders: [
        {
            test: /MyLibrary\.js$/,
            loader: "exports?MyLibrary"
        }
    ]
}