Как получить переменную из файла вендора в веб-пакете 4 - PullRequest
0 голосов
/ 07 октября 2018

Существуют ли способы доступа к переменной eq 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

1 Ответ

0 голосов
/ 08 октября 2018

Для загрузки устаревшего кода вы можете использовать script-loader .

  1. Установить скрипт-загрузчик: npm install --save-dev script-loader
  2. Добавить новую запись в начале раздела правил модуля в файле конфигурации вашего веб-пакета:

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

Вы должны иметь доступ к Lobibox в window.Lobibox.

...