Объединение проекта узла для Web для сохранения вывода модуля в виде глобальной переменной Js - PullRequest
0 голосов
/ 03 апреля 2020

Наш проект рассчитывает взять несколько файлов с парой зависимостей узлов и объединить их в один файл с одной точкой входа.

/src 
   -entry.js
   -f1.js
   -f2.js
   -f3.js

Выходные данные пакета / функции должны заключаться в установке глобального переменная в браузере. Короче говоря, конечному результату нужно, чтобы это произошло:

var _webVar = () => {return OBJECT_STUFF()} //set web global scope var
_webVar.init({config:{...}); //run the init function - done by client in tag manager/website code

Таким образом, мы можем получить доступ к _webVar из глобальной области и позволить ему делать свое дело. Конечная цель - сохранить этот файл в нашей CDN, и клиенты просто добавят тег исходного кода на свой сайт, чтобы он работал.

Надеемся получить представление о лучших способах интеграции веб-пакета в этот конвейер сборки. Спасибо.

1 Ответ

0 голосов
/ 03 апреля 2020

Мой подход был неверным - переосмысление причины. Простое решение в конце. Идея состоит не в том, чтобы вывести переменную каким-нибудь причудливым веб-пакетом magi c, но вы можете просто установить глобал в коде и заставить его выполняться при связывании.

Webpack.config. js может быть таким же легким, как:

module.exports = {
entry: './src/index.js',
output: {
    filename: 'webvar-webpack-build.js',
    path: path.join(__dirname + '/build'),
},
resolve: {
    extensions: ['.js'],
    plugins: [],
},

};

ie. Вместо ожидания запуска связанного кода и его вывода в OBJECT_STUFF ()

var _webVar = () => {return OBJECT_STUFF()} 

Внутри функции упакованного веб-пакета OBJECT_STUFF() вы устанавливаете window["_webVar"]

Это наиболее точно показало, что мне нужно. Expose javascript глобалы, связанные через webpack

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...