Как предварительно обработать сторонний JS скрипт с Webpack, чтобы запустить его в том же контексте проекта? - PullRequest
1 голос
/ 08 февраля 2020

Я использую vue -cli-plugin-electronic-builder плагин (на основе vue -cli ) для доставки настольного приложения Win Electron.

Проект приложения имеет стороннюю зависимость. Давайте назовем это «AB C»:

package.json
"dependencies": {
    "ABC": "^x.x.x",
}

«AB C» экспортирует только одну функцию init(), поэтому в main. js я могу импортировать и запустить функцию

import * as init from 'ABC'
init()

Внутри функции есть вызов init():

var fork = require('child_process').fork;
script = 'someOutsideScript.js'
fork(script, []);

someOutsideScript. js содержит require('anyModule') и имеет нет объектов экспорта

Проблема: Когда someOutsideScript. js выполняется ошибка Cannot find module 'anyModule' is thrown. Если я копирую anyModule в node_modules, приложение работает правильно.

Плагин использует Webpack для обработки исходного кода. Webpack строит граф зависимостей на основе исходного кода "import-s / require-s". someOutsideScript. js не должен обрабатываться, поскольку в исходном коде нет ссылок на этот скрипт. Это только выполнено 'вилкой'. require('anyModule') работает без сбоев в main. js

Вопрос: Как использовать тот же контекст загрузки модуля в main. js и someOutsideScript. js? Есть ли способ предварительно обработать someOutsideScript. js stati c script, чтобы избежать Cannot find module exception?

Спасибо

...