Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用在Web包生成中公开全局变量的脚本_Javascript_Webpack - Fatal编程技术网

Javascript 使用在Web包生成中公开全局变量的脚本

Javascript 使用在Web包生成中公开全局变量的脚本,javascript,webpack,Javascript,Webpack,在我的(第一个)网页包构建中,我很难理解如何加载一个只公开全局变量的脚本 我尝试加载的脚本基本上是这样的: //File: MyLibrary.js var MyLibrary = (function(window) { function MyLibrary() { // Do librarious stuff } return MyLibrary; })(typeof window !== 'undefined' ? window : n

在我的(第一个)网页包构建中,我很难理解如何加载一个只公开全局变量的脚本

我尝试加载的脚本基本上是这样的:

//File: MyLibrary.js    

var MyLibrary = (function(window) {

    function MyLibrary() {
        // Do librarious stuff
    }

    return MyLibrary;

})(typeof window !== 'undefined' ? window : null);
我想我应该使用
导出加载程序
,因为根据文档,它应该正好适合这种情况:

该文件在全局上下文中使用
var XModule=..

var-XModule=require(“导出?XModule!。/file.js”)

所以我把它放在我的配置中:

module: {
    loaders: [
        {
            test: /MyLibrary\.js$/,
            loader: "exports?MyLibrary!./MyLibrary.js"
        }
    ]
}
但这会导致一个错误:

加载程序MyLibrary.js中的错误未返回函数

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


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

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

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