javascript - 如何从 webpack 4 中的 vendor 文件获取变量

标签 javascript webpack webpack-4

有什么方法可以访问变量 e.q.来自 vendor 文件的 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'

现在浏览器显示错误 未捕获的 ReferenceError:Lobibox 未定义

最佳答案

要加载遗留代码,您可以使用 script-loader .

  1. 安装脚本加载器:npm install --save-dev script-loader

  2. 在您的 webpack 配置文件中模块规则部分的开头添加新条目:

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

您应该能够在 window.Lobibox 下访问 Lobibox。

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

相关文章:

reactjs - Webpack 无法导入带有 `<svg` > 标记的 React 组件

webpack - 未捕获的 TypeError : __webpack_require__(…). 上下文不是函数

javascript - 我已经使用 webpack 生成了bundle.js,但我的 React 应用程序继续使用/static/bundle.js

javascript - 根据类 react 悬停动画

javascript - fullcalendar 不显示基于事件时间的事件

javascript - 无法获取instanceTree Autodesk

javascript - 在 javascript 中以编程方式设置 Content-Type 的 http 请求 header

node.js - Webpack 打破 Node.js 应用程序中的 Mocha

javascript - 快速编写需要 babel 的 JavaScript 并运行它的方法?

css - Webpack 构建成功但 styles.css 文件样式未反射(reflect)