2016-12-20 2 views
0

Я использую 2 модуля, которые используют «window.ModuleName» для экспорта. Оба они используют одно и то же имя модуля.Модуль окна импорта Webpack в пространство имен

window.z = a;

window.z = b

Первый модуль a является автономным модулем, как я импортировать его через $.getScript, когда это необходимо.

Второй модуль b в комплекте через веб-пакет.

Модуль awindow.z перезаписываемый модуль bwindow.z при загрузке. Поэтому я хотел бы изменить область действия модуля b, присвоив его переменной или пространству имен с помощью webpack вместо области окна через webpack или любой другой возможностью.

newScope.z = a

Оба модуля не определены мной, поэтому я не могу изменить экспорт. Есть ли способ сделать это профессионально?

+0

Вы посмотрели на 'script-loader'? https://github.com/webpack/script-loader – loganfsmyth

ответ

0

создать файл startup.js (для включения/требуется, прежде чем вам нужно, или б), где вы это делаете:

require('a') 
var z1 = window.z 
window.z1 = z1 
require('b') 

Теперь window.z1 является аз, и window.z является BZ, yo имейте их обоих

0

Я мог только решить, что с помощью замены заменить загрузчик из webpack и заменить экспорт модуля b от window.z => window.zb.

К сожалению, нет возможности изменить область действия переменной из глобального глобального окна на локальный.

Смежные вопросы