Импорт из внешнего веб-пакета (импорт во время выполнения) - PullRequest
0 голосов
/ 03 октября 2019

Это то, о чем я думал сегодня, и я не видел много информации, поэтому я собираюсь поделиться этими странными случаями и тем, как лично я раскрылих (если есть лучший способ, пожалуйста, прокомментируйте, но в то же время это может помочь другим ^^)

В пакете веб-пакета каждый import / require, который вы делаете, управляется веб-пакетом с использованием ихвнутренняя require функция. Это означает, что вы больше не можете использовать исходный глобальный NodeJS require, если находитесь внутри пакета веб-пакета.

См. Также: Экспорт из внешнего пакета веб-пакета

1 Ответ

0 голосов
/ 03 октября 2019

Существует обходной путь, предоставляемый веб-пакетом:

Переменная с именем __non_webpack_require__, которая является исходной require, поэтому в своем коде вы можете сделать это:

const internalModule = require('internal/module');
// or import internalModule from 'internal/module'; in the ES6 way

const externalModule = __non_webpack_require__('external/module');

Если вы используете TypeScript, вы можете добавить эту строку в файл global.d.ts, чтобы избежать синтаксических ошибок:

declare const __non_webpack_require__: NodeRequireFunction;

Факт 1: Фактически после сборки вы можетепосмотрите, как ваш обычно используемый require (веб-пакет) был переименован в __webpack_require__, и что __non_webpack_require__ был сохранен как исходный require.

Факт 2: Веб-пакеттакже используйте оригинальный require для импорта модулей из системы (не связанных с кодом), таких как net, events, fs и т. д.

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