Как я могу требовать произвольный локальный скрипт в приложении веб-пакета во время выполнения?

Я пытаюсь загрузить некоторые произвольные модули во время выполнения, которые недоступны во время сборки. Подумайте о плагинах, которые требуются только во время выполнения. Так что-то вроде:

require(plugin_dir + '/plugins.js')

должен быть загружен, но Webpack справедливо жалуется, что этот модуль недоступен. Как я могу сделать эту работу?

Я попытался SystemJS обмануть веб-пакет, но он понял, чего я пытаюсь достичь, и потерпел неудачу.

1 ответ

Решение

В конце концов я использовал https://github.com/ezze/node-require-wrapper

Это работает так:

Файл конфигурации Webpack:

module.exports = {
  // ...
  module: {
      rules: {
          // ...
      },
      noParse: /require-wrapper/
  }
}

Тогда в вашем коде вы можете использовать его так:

var nodeRequire = require('require-wrapper');
var helloModulePath = path.resolve(__dirname, 'dynamic/hello.js');
Другие вопросы по тегам