Как запустить сборку веб-пакета после использования Yarn PnP для установки пакета? - PullRequest
0 голосов
/ 20 января 2020

У меня есть существующий проект 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, а не просто , заставляющем процесс выполняться в первую очередь ! Я надеялся, что можно каким-то образом использовать глобально установленную версию веб-пакета, но не могу заставить команды выстроиться правильно.

...