Проблемы после обновления Angular CLI с 1.7.3 до 6.2.2

Я обновил проект Angular 5.2.0 с CLI 1.7.3 до Angular 6.1.7 с CLI 6.2.2.

Теперь, когда я запускаю ng build --prod, я получаю ошибку ниже.

ERROR in Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
TypeError: Cannot read property 'replace' of undefined
    at normalizeBackSlashDirection (C:\workspace\appView\node_modules\webpack\lib\RequestShortener.js:16:17)
    at new RequestShortener (C:\workspace\appView\node_modules\webpack\lib\RequestShortener.js:26:15)
    at new Compiler (C:\workspace\appView\node_modules\webpack\lib\Compiler.js:189:27)
    at Compiler.createChildCompiler (C:\workspace\appView\node_modules\webpack\lib\Compiler.js:431:25)
    at Compilation.createChildCompiler (C:\workspace\appView\node_modules\webpack\lib\Compilation.js:2429:24)
    at Object.pitch (C:\workspace\appView\node_modules\mini-css-extract-plugin\dist\loader.js:78:43)

Как я мог это исправить?

Однажды была эта проблема. Проблема, вероятно, заключалась в несовместимости версий Angular и CLI. использование npm update исправило это для меня

Andifined 17.09.2018 11:55

Ведьминскую версию webpack вы используете?

Fateme Fazli 17.09.2018 12:00

@Andifined не повезло с npm update

Bishan 17.09.2018 12:04

@fatemefazli версия 4.19.0

Bishan 17.09.2018 12:04
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
2
4
835
2

Ответы 2

Это произошло из-за частной переменной, объявленной в TS, которую вы используете в hTML.

Невозможно прочитать свойство "заменить" неопределенного

эта замена является частной, поэтому не может читать в файле HTML


Шаг к обновлению

Установка или обновление Angular CLI до версии 6

Обновить Angular CLI легко, нужно установить последнюю версию из npm, используя следующую команду:

npm install -g @angular/cli 

Вам может потребоваться добавить sudo в зависимости от вашей конфигурации npm. Также само собой разумеется, что вам нужны Node.js 8+ и NPM, установленные в вашей системе, чтобы иметь возможность установить и запустить Angular CLI 6.

Обновление Angular 5 CLI до версии 6 (метод 2) Вы также можете удалить предыдущую версию Angular CLI 5 перед установкой последней версии, используя следующую команду:

npm uninstall -g angular-cli
npm cache clean

Затем запустите команду установки npm глобально:

npm install -g @angular/cli 

Обновление проектов Angular 4 | 5

Сначала начните с локальной установки Angular CLI 6 с помощью следующей команды (убедитесь, что вы находитесь в корневой папке проекта):

npm install @angular/cli@latest

Обновление файлов конфигурации Есть много различий между Angular 4 | 5 и Angular 6, например: • Angular 6 использует angular.json вместо angular-cli.json. • Различные версии зависимостей в package.json и т. д.

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

ng update @angular/cli

Обнаружение пакетов для обновления Angular CLI имеет новую утилиту, которая позволяет вам автоматически анализировать файл package.json вашего проекта и отображает зависимости, которые необходимо обновить.

Используя терминал из корневой папки вашего проекта Angular 5, выполните следующую команду:

ng update

Это пример вывода этой команды:

Обновление базовых пакетов до Angular 6 Теперь вам нужно обновить основные пакеты / зависимости до Angular 6. Просто выполните следующую команду:

ng update @angular/core

Обновление RxJS Вы можете обновить RxJS с помощью команды ng update:

ng update rxjs

Сначала проверьте свои версии установленного Angular CLI и другие зависимости с помощью:

ng --version 

попробуйте изменить свой веб-пакет, надеюсь, это поможет:

npm remove webpack

тогда:

npm install [email protected]

или Удалите node_modules и package-lock.json Обновите версию веб-пакета в package.json Снова запустите npm install.

У меня нет webpack в package.json. Устанавливается с помощью @angular-devkit/build-angular или другого пакета.

Bishan 17.09.2018 12:58

@Bishan да, но вы можете изменить версию веб-пакета

Fateme Fazli 17.09.2018 13:04

Конечно. Я попробую это, добавив [email protected] в package.json

Bishan 17.09.2018 13:05

Не повезло с этим. Снова та же проблема.

Bishan 17.09.2018 13:10

Другие вопросы по теме