Я пытаюсь загрузить произвольные модули во время выполнения, которые недоступны во время сборки. Подумайте о надстройках, которые требуются только во время выполнения. Так что-то вроде:
require(plugin_dir + '/plugins.js')
необходимо загрузить, но webpack справедливо жалуется, что этот модуль недоступен. Как я могу заставить это работать?
Я попробовал SystemJS, чтобы обмануть webpack, но он понял, чего я пытаюсь достичь, и потерпел неудачу.
В итоге я использовал 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');
Похоже, я могу использовать github.com/ezze/node-require-wrapper для этого. Требуется дополнительное тестирование, чтобы увидеть, действительно ли это работает так, как я ожидал.