ОШИБКИ обновления webpack v2.5 до v4.41 (с обновлением Angular v5.1 до v7.0) - PullRequest
0 голосов
/ 24 октября 2019

Ошибка обновления Webpack v2.5 до v4.41 (с обновлением Angular v5.1 до v7.0) (имейте в виду, что мы надеемся в конечном итоге перейти на Angular v8.2, но update.angular.io предлагаетпостепенное обновление и еще не дошли до Angular v7 - пока)

Имея некоторое время, чтобы перейти на обновление моего приложения Angular с v5.1 до v8.2 из-за перехода на webpack v4

процесс: 1. следуйте всем инструкциям на update.angular.io 2. удалите папку node_modules 3. удалите npm-shrinkwrap.json 4. установите npm 5. npm shrinkwrap - >> все хорошо здесь 6. узелnode_modules / webpack / bin / webpack --config webpack.config.vendor.js - >>> ошибки

после шага 4: ... уведомление npm создало файл блокировки как пакет-lock.json. Вы должны зафиксировать этот файл. npm WARN extract-text-webpack-plugin@3.0.2 требует однорангового узла webpack@^3.1.0, но ни один не установлен. Вы должны установить одноранговые зависимости самостоятельно. npm ПРЕДУПРЕЖДЕНИЕ Пакет tslint включен как зависимость от разработчика и продукта. npm ПРЕДУПРЕЖДЕНИЕ необязательное Пропуск необязательная зависимость: fsevents@1.2.9 (node_modules \ fsevents): npm ПРЕДУПРЕЖДЕНИЕ notsup Пропуск необязательная зависимость: неподдерживаемая платформа для fsevents@1.2.9: wanted {"os": "darwin", "arch": "any"} (current: {" os ":" win32 "," arch ":" x64 "})

после шага 6:

(узел: 20228) DeprecationWarning: Tapable.plugin isосуждается. Вместо этого используйте новый API на .hooks C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ webpack \ lib \ Chunk.js: 866 выбросить новую ошибку (^

Ошибка: Chunk.entrypoints: использовать Chunks.groupsIterable и фильтровать по экземпляру Entrypoint вместо этого в Chunk.get (C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ webpack \ lib\ Chunk.js: 866: 9) в C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ extract-text-webpack-plugin \ dist \ index.js: 176:48 в Array.forEach () в C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ extract-text-webpack-plugin \ dist \ index.js: 171: 18 вAsyncSeriesHook.eval [as callAsync] (eval при создании (C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ tapable \ lib \ HookCodeFactory.js: 33: 10),:7: 1) в AsyncSeriesHook.lazyCompileHook (C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ tapable \ lib \ Hook. js: 154: 20) в Compilation.seal (C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ webpack \ lib \ Compilation.js: 1342: 27) при компиляции. finish.err (C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ webpack \ lib \ Compiler.js: 675: 18) в hooks.finishModules.callAsync.err (C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ webpack \ lib \ Compilation.js: 1261: 4) в AsyncSeriesHook.eval [как callAsync] (eval при создании (C:\ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ tapable \ lib \ HookCodeFactory.js: 33: 10):: 24: 1) в AsyncSeriesHook.lazyCompileHook (C: \ dev \Разработка облака \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ tapable \ lib \ Hook.js: 154: 20) на Compilation.finish (C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1. 0_Angular_6 \ Corvel.Intake.Web \ node_modules \ webpack \ lib \ Compilation.js: 1253: 28) по адресу hooks.make.callAsync.err (C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ webpack \ lib \ Compiler.js: 672: 17) в _err0 (eval при создании (C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web)\ node_modules \ tapable \ lib \ HookCodeFactory.js: 33: 10),: 11: 1) в _addModuleChain (C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ webpack \lib \ Compilation.js: 1185: 12) at processModuleDependencies.err (C: \ dev \ Cloud Development \ Intake \ Dev \ 1.1.0_Angular_6 \ Corvel.Intake.Web \ node_modules \ webpack \ lib \ Compilation.js: 1097: 9)at process._tickCallback (internal / process / next_tick.js: 61: 11)

Я попытался внести изменения для обновления с "extract-text-webpack-plugin": "2.1.2" до "mini-css-extract-plugin ":" ^ 0.8.0 ", но независимо от того, что я пробовал, мне все равно, похоже, требуется extract-text-webpack-plugin из-за другого пакета, также изменения mini-css-extract-pluginв веб-пакете мне не совсем понятно ... есть ли другой пример, приведенный на их веб-странице?

(см. package.json v5.1 против package.json v7.0 ниже)

Я пошел и создал новое маленькое шаблонное приложение с: ng new ngcli-webpack

Моя задача идет в правильном направлении, существует ли эквивалентный файл update.angular.io для обновления веб-пакета?

Я понял, что webpack v4 теперь является частью Angular CLI v7, но ... список точных инструкций / изменений от одной версии к другой неясен.

Любая помощь? Предложения?



v5.1 package.json



{
  "name": "Web",
  "private": true,
  "version": "1.0.0",
  "scripts": {
    "test": "karma start ClientApp/test/karma.conf.js",
    "test_ci": "webpack --config webpack.config.vendor.js --env.prod && karma start ClientApp/test/karma.conf.nobrowser.js",
    "test_ondemand": "karma start ClientApp/test/karma.conf.nobrowser.js"
  },
  "dependencies": {
    "@angular/animations": "^5.1.1",
    "@angular/common": "^5.1.1",
    "@angular/compiler": "^5.1.1",
    "@angular/compiler-cli": "^5.1.1",
    "@angular/core": "^5.1.1",
    "@angular/forms": "^5.1.1",
    "@angular/http": "^5.1.1",
    "@angular/platform-browser": "^5.1.1",
    "@angular/platform-browser-dynamic": "^5.1.1",
    "@angular/platform-server": "^5.1.1",
    "@angular/router": "^5.1.1",
    "@ngtools/webpack": "^1.9.1",
    "@progress/kendo-angular-buttons": "^4.0.0",
    "@progress/kendo-angular-dateinputs": "^2.2.0",
    "@progress/kendo-angular-dialog": "^3.4.0",
    "@progress/kendo-angular-dropdowns": "^2.1.0",
    "@progress/kendo-angular-excel-export": "^1.0.7",
    "@progress/kendo-angular-grid": "^3.0.0",
    "@progress/kendo-angular-inputs": "^2.2.0",
    "@progress/kendo-angular-intl": "^1.4.0",
    "@progress/kendo-angular-l10n": "^1.1.0",
    "@progress/kendo-angular-layout": "^3.1.0",
    "@progress/kendo-angular-popup": "^2.2.0",
    "@progress/kendo-angular-tooltip": "^0.4.0",
    "@progress/kendo-data-query": "^1.2.2",
    "@progress/kendo-drawing": "^1.5.2",
    "@progress/kendo-theme-default": "^2.47.0",
    "@types/webpack-env": "1.13.0",
    "angular2-template-loader": "0.6.2",
    "applicationinsights-js": "^1.0.14",
    "aspnet-prerendering": "^3.0.1",
    "aspnet-webpack": "^2.0.1",
    "awesome-typescript-loader": "3.2.1",
    "bootstrap": "^3.3.7",
    "css": "2.2.1",
    "css-loader": "0.28.4",
    "es6-shim": "0.35.3",
    "event-source-polyfill": "0.0.9",
    "expose-loader": "0.7.3",
    "extract-text-webpack-plugin": "2.1.2",
    "file-loader": "0.11.2",
    "html-loader": "0.4.5",
    "isomorphic-fetch": "2.2.1",
    "jquery": "3.2.1",
    "json-loader": "0.5.4",
    "popper.js": "^1.12.9",
    "preboot": "4.5.2",
    "raw-loader": "0.5.1",
    "reflect-metadata": "0.1.10",
    "rxjs": "^5.5.2",
    "style-loader": "0.18.2",
    "to-string-loader": "1.1.5",
    "typescript": "^2.5.3",
    "url-loader": "0.5.9",
    "webpack": "2.5.1",
    "webpack-hot-middleware": "2.18.2",
    "webpack-merge": "4.1.0",
    "zone.js": "0.8.12"
  },
  "devDependencies": {
    "@types/applicationinsights-js": "^1.0.5",
    "@types/chai": "4.0.1",
    "@types/jasmine": "2.5.53",
    "babel-polyfill": "^6.26.0",
    "chai": "4.0.2",
    "core-js": "^2.5.3",
    "jasmine-core": "2.6.4",
    "karma": "1.7.0",
    "karma-chai": "0.1.0",
    "karma-chrome-launcher": "2.2.0",
    "karma-cli": "1.0.1",
    "karma-jasmine": "1.1.0",
    "karma-junit-reporter": "^1.2.0",
    "karma-phantomjs-launcher": "^1.0.4",
    "karma-webpack": "2.0.3",
    "node-sass": "^4.9.0",
    "sass-loader": "^6.0.6"
  }
}


v7.0 package.json



{
  "name": "Web",
  "private": true,
  "version": "1.1.0",
  "scripts": {
    "test": "karma start ClientApp/test/karma.conf.js",
    "test_ci": "webpack --config webpack.config.vendor.js --env.prod && karma start ClientApp/test/karma.conf.nobrowser.js",
    "test_ondemand": "karma start ClientApp/test/karma.conf.nobrowser.js"
  },
  "dependencies": {
    "@angular/animations": "^7.0.0",
    "@angular/cli": "^7.0.1",
    "@angular/common": "^7.0.0",
    "@angular/compiler": "^7.0.0",
    "@angular/compiler-cli": "^7.0.0",
    "@angular/core": "^7.0.0",
    "@angular/forms": "^7.0.0",
    "@angular/http": "^7.0.0",
    "@angular/platform-browser": "^7.0.0",
    "@angular/platform-browser-dynamic": "^7.0.0",
    "@angular/router": "^7.0.0",
    "@ngtools/webpack": "^7.0.0",
    "@progress/kendo-angular-buttons": "^5.0.0",
    "@progress/kendo-angular-common": "^1.0.0",
    "@progress/kendo-angular-dateinputs": "^4.0.0",
    "@progress/kendo-angular-dialog": "^4.0.0",
    "@progress/kendo-angular-dropdowns": "^4.0.0",
    "@progress/kendo-angular-excel-export": "^3.0.0",
    "@progress/kendo-angular-grid": "^4.0.0",
    "@progress/kendo-angular-inputs": "^6.0.0",
    "@progress/kendo-angular-intl": "^2.0.0",
    "@progress/kendo-angular-l10n": "^2.0.0",
    "@progress/kendo-angular-layout": "^4.0.0",
    "@progress/kendo-angular-pdf-export": "^2.0.0",
    "@progress/kendo-angular-popup": "^3.0.0",
    "@progress/kendo-angular-tooltip": "^2.0.0",
    "@progress/kendo-data-query": "^1.2.2",
    "@progress/kendo-drawing": "^1.5.12",
    "@progress/kendo-theme-default": "^2.47.0",
    "@types/webpack-env": "1.13.0",
    "angular2-template-loader": "0.6.2",
    "applicationinsights-js": "^1.0.14",
    "aspnet-prerendering": "^3.0.1",
    "aspnet-webpack": "^3.0.0",
    "awesome-typescript-loader": "3.2.1",
    "bootstrap": "^3.3.7",
    "css": "2.2.1",
    "css-loader": "0.28.4",
    "es6-shim": "0.35.3",
    "event-source-polyfill": "0.0.9",
    "expose-loader": "0.7.3",
    "extract-text-webpack-plugin": "^3.0.0",
    "file-loader": "0.11.2",
    "html-loader": "0.4.5",
    "isomorphic-fetch": "2.2.1",
    "jquery": "^3.4.1",
    "json-loader": "0.5.4",
    "popper.js": "^1.12.9",
    "preboot": "4.5.2",
    "raw-loader": "0.5.1",
    "reflect-metadata": "0.1.10",
    "rxjs": "6.3.3",
    "rxjs-compat": "6.3.3",
    "style-loader": "0.18.2",
    "to-string-loader": "1.1.5",
    "tslint": "^5.0.0",
    "url-loader": "0.5.9",
    "webpack-dev-middleware": "^3.7.2",
    "webpack-hot-middleware": "2.18.2",
    "zone.js": "0.8.29"
  },
  "devDependencies": {
    "@types/applicationinsights-js": "^1.0.5",
    "@types/chai": "4.0.1",
    "@types/jasmine": "2.5.53",
    "babel-polyfill": "^6.26.0",
    "chai": "4.0.2",
    "core-js": "^2.5.3",
    "jasmine-core": "2.6.4",
    "karma": "1.7.0",
    "karma-chai": "0.1.0",
    "karma-chrome-launcher": "2.2.0",
    "karma-cli": "1.0.1",
    "karma-jasmine": "1.1.0",
    "karma-junit-reporter": "^1.2.0",
    "karma-phantomjs-launcher": "^1.0.4",
    "karma-webpack": "^4.0.0",
    "node-sass": "^4.9.0",
    "sass-loader": "^6.0.6",
    "tslint": "^5.0.0",
    "typescript": "^3.1.6",
    "webpack": "^4.41.2",
    "webpack-cli": "^3.3.9",
    "webpack-merge": "^4.1.0"
  }
}
...