Миграция Angular 8 до Angular 9 - PullRequest
       5

Миграция Angular 8 до Angular 9

0 голосов
/ 13 февраля 2020

После ng serve у меня появляются ошибки в консоли. Как я могу это исправить?

ERROR in ./node_modules/resolve/lib/sync.js
Module not found: Error: Can't resolve 'fs' in 'project-path\node_modules\resolve\lib'
ERROR in ./node_modules/resolve/lib/async.js
Module not found: Error: Can't resolve 'fs' in 'project-path\node_modules\resolve\lib'
ERROR in ./node_modules/tslint/lib/utils.js
Module not found: Error: Can't resolve 'fs' in 'project-path\node_modules\tslint\lib'

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

Если вы используете Angular Universal

Вы должны предоставить 2 разные версии файла, которые используют fs в вашем коде, в качестве 2 поставщиков услуг, один в модуле сервера с fs, и другой без него.

Если это не имеет особого смысла, проверьте подробности решения здесь:
https://github.com/ngx-translate/core/issues/754#issuecomment -353616515

Похоже, эта проблема не является Angular 9 указанным c. См. Примеры проблемы и решения из более ранних версий Angular здесь: Обновление до Angular v6 - Модуль не найден: Ошибка: Не удается разрешить 'fs'

Если вы не используете Angular Universal

Это может быть проблема с одной из ваших зависимостей. В этом случае вы можете попробовать сказать Webpack (который Angular использует под капотом), чтобы игнорировать fs в среде браузера (не Node).

Примером этой проблемы и спецификой решения может быть найдено здесь: { ссылка }

0 голосов
/ 13 февраля 2020

1-й: шаг, который вы должны сделать правильное резервное копирование и выполните следующие шаги

remove node_modules
remove package-lock.json
npm cache clean -f

(Необязательно) Если вы уже сделали выше, пожалуйста, перезагрузите компьютер. и запустите узел и снова angular.

2nd: добавьте следующее в karma.conf. js

webpack: { node: { fs: 'empty', } }
...