Я пытаюсь настроить свою конфигурацию webpack
, а точнее передать параметр в конфигурацию Webpack с помощью команды NPM.
У меня моя команда NPM npm run start
, который запускает webpack-dev-сервер, на котором работает мое веб-приложение, используя URL-адрес https://<hostname>/foo/
. Как видите, веб-приложение обслуживается с использованием /foo/
в качестве базового пути. Эта функция «жестко запрограммирована», и все работает нормально.
Теперь я хотел бы улучшить эту функцию: я хотел бы запустить команду npm run start urlPrefix=bar
, а затем в webpack.dev.js
и webpack.common.js
, используйте параметр urlPrefix
, чтобы иметь собственный префикс, чтобы веб-приложение размещалось на https://<hostname>/bar/
. Более того, эта переменная должна использоваться на стороне TSX (но для этого я должен использовать DefinePlugin
https://webpack.js.org/plugins/define-plugin/).
То, что я пробовал:
Экспортируйте конфигурацию веб-пакета как функцию и используйте argv['urlPrefix']
, как указано здесь: { ссылка }. Однако при использовании npm run start --webwbPrefix=bar
в этом случае пользовательский префикс bar
не читается, а используется foo
: я думаю, что аргумент NPM не передается в web-dev-server
. Более того, у меня возникла эта проблема (я скрыл некоторую информацию, но не думаю, что они актуальны):
Use the command npm run start --define urlPrefix=foo
, with this code in both webpack.common.js
and webpack.dev.js
:
let computedURLPrefix = 'bar';
args.some(argument => {
const match = /^urlPrefix=(.+)$/.exec(argument);
if (match !== null) {
computedURLPrefix = match[1];
}
return match !== null;
});
In this case the webpack recognize the foo
value, and the webapp is served in https:///foo
, but is not usable since I got these errors:
введите описание изображения здесь