Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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

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 如何从webpack 4中的供应商文件中获取变量_Javascript_Webpack_Webpack 4 - Fatal编程技术网

Javascript 如何从webpack 4中的供应商文件中获取变量

Javascript 如何从webpack 4中的供应商文件中获取变量,javascript,webpack,webpack-4,Javascript,Webpack,Webpack 4,是否有任何方法可以从供应商文件访问变量e.q.Lobibox: /node\u modules/lobibox/js/notifications.js 在我自己的配置文件中:/assets/js/lobibox/config.js 仅用于覆盖Lobibox默认设置 这是我的堆栈: ./assets/js/lobibox/config.js: ./node_modules/lobibox/js/notifications.js: ./entryFile.js: 现在浏览器显示错误 uncaught

是否有任何方法可以从供应商文件访问变量e.q.
Lobibox

/node\u modules/lobibox/js/notifications.js

在我自己的配置文件中:
/assets/js/lobibox/config.js

仅用于覆盖Lobibox默认设置

这是我的堆栈:

./assets/js/lobibox/config.js:

./node_modules/lobibox/js/notifications.js:

./entryFile.js:

现在浏览器显示错误
uncaughtreferenceerror:Lobibox未定义

用于加载您可以使用的旧代码

  • 安装脚本加载器:
    npm安装--保存开发脚本加载器

  • 在您的网页配置文件的模块规则部分的开头添加新条目:

    {
       test: /lobibox\/js\/notifications/,
       loader: "script-loader"
    }
    

  • 您应该能够在
    窗口下访问Lobibox。Lobibox

    您应该搜索一个术语“从节点模块重写方法”,下面是一个示例,不确定它是否100%适用于您的情况,但我认为这可能是更好地搜索解决方案的良好起点:如果您尝试notification.js中的window.Lobibox,它是否仍然未定义?@MarianBan yes仍然未定义。Lobibox未追加到窗口变量中。@Nezir,它不可用,因为
    require()
    返回空对象。也许我可以加载供应商文件的内容,重写并执行。但现在我不知道这是否可能。完美的解决方案!它可以在没有窗户的情况下使用。Lobibox,只是
    Lobibox
    在我的例子中,我使用脚本加载器就像这样:
    import'脚本加载器!//node_modules/lobibox/js/notifications.js'
    
    var Lobibox = Lobibox || {};
    (function () {
    
        // code ..
    
        Lobibox.notify = function (type, options) {
    
            // code ..
    
        };
    
        // code ...
    
    }})();
    
    // Notifications
    
    import './../node_modules/lobibox/js/notifications.js';
    import './static/js/notification.js'
    
    {
       test: /lobibox\/js\/notifications/,
       loader: "script-loader"
    }