有什么方法可以访问变量e.q.供应商文件中的Lobibox

./node_modules/lobibox/js/notifications.js

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

仅用于覆盖Lobibox默认设置。

这是我的堆栈:


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


$(function ()
{
    Lobibox.notify.DEFAULTS = $.extend({}, Lobibox.notify.DEFAULTS,
    {
        soundPath: '/temp/static/sound/notifications/',
        icon: false,
        sound: 'sound4',
        width: 320,
        pauseDelayOnHover: true,
        continueDelayOnInactiveTab: false
    });
});



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


var Lobibox = Lobibox || {};
(function () {

    // code ..

    Lobibox.notify = function (type, options) {

        // code ..

    };

    // code ...

}})();



  ./entryFile.js:


// Notifications

import './../node_modules/lobibox/js/notifications.js';
import './static/js/notification.js'


现在浏览器显示错误
Uncaught ReferenceError: Lobibox is not defined

最佳答案

要加载旧代码,可以使用script-loader


安装脚本加载器:npm install --save-dev script-loader
在webpack配置文件的“模块规则”部分的开头添加新条目:

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



您应该可以在window.Lobibox下访问Lobibox。

关于javascript - 如何从Webpack 4中的供应商文件中获取变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52689952/

10-09 21:58