У меня есть существующий проект Angular, написанный на TypeScript, который использует webpack для компиляции пакета с помощью команды webpack --watch
и связанного файла webpack.config.js
.
Я использую Yarn для управления пакетами npm и мне было любопытно попробовать Yarn PnP , чтобы увидеть, есть ли какие-либо улучшения, чтобы увидеть, поэтому я включил опцию PnP в package.json
согласно документации:
"installConfig": {
"pnp": true
}
Запуск yarn install
удалил содержимое каталога node_modules
и создал файл .pnp.js
, как и ожидалось.
Однако теперь, когда я пытаюсь запустить webpack --watch
, я получаю следующее сообщение:
$ webpack --watch
webpack not installed
Install webpack to start bundling:
$ npm install --save-dev webpack
У меня webpack
установлено глобально ( Я знаю, я знаю, они не рекомендуют это, но это то, что это ), поэтому я был озадачен, почему мой Проект думал, что это не было доступно.
Оглядываясь на SO, я нашел этот вопрос / ответ , который подсказывает мне, что когда вы используете файл webpack.config.js
, вы должны установить веб-пакет локально, чего больше нет, потому что установка PnP уничтожил локальный каталог node_modules
.
У меня такой вопрос: как запустить сборку веб-пакета, когда Yarn PnP удалил его из node_modules
? Существует множество статей, в которых подробно описываются корректировки, которые необходимо внести, чтобы заставить вещи работать, но все они, кажется, говорят о корректировках ts-loader
, а не просто , заставляющем процесс выполняться в первую очередь ! Я надеялся, что можно каким-то образом использовать глобально установленную версию веб-пакета, но не могу заставить команды выстроиться правильно.