Angular build - модуль не найден: ошибка: не удается разрешить «консоль» - PullRequest
0 голосов
/ 03 марта 2020

У меня проблема с моей Angular сборкой проекта и, в конечном итоге, развертыванием на heroku. Я использую старый (i sh) npm пакет, называемый двоичным парсером, который вызывает следующую ошибку при сборке / развертывании на heroku: Module not found: Error: Can't resolve 'console' in '/tmp/build_e75b87f248f44978f9537d83b3172254/node_modules/binary-parser/dist'

Двоичный парсер. js имеет строку require("console");, которая используется ровно в одном месте, поэтому локальные сборки выполняются успешно, и приложение работает отлично, если только я полностью удалю консоль из этой строки. Но поскольку heroku устанавливает модули узлов при развертывании, это помогает, только когда я вручную собираю версию prod.

Я установил наборы для двоичного парсера и для TS, а также включил "types": ["node" ] в tsconfig. json и tsconfig.app. json compilerOptions.

Поскольку angular в наши дни не позволяет конфигурировать веб-пакеты, я попытался добавить global.console = global.console || require('console-browserify'); (или) global.console = global.console || require('console'); на мои полифиллы, но безрезультатно.

Есть идеи, как это решить? Нужно ли настраивать пользовательский веб-пакет, чтобы обойти это? Я с удовольствием выложу дополнительную информацию при необходимости!

1 Ответ

0 голосов
/ 03 марта 2020

После нескольких часов попыток найти правильную конфигурацию, единственное решение, которое я смог найти, - это разветвление рассматриваемого репо и изменение цели tsconfig с es5 на es6, что полностью избавило от импорта консоли после компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...