首页 > 解决方案 > 将角度版本从 10 更新到 12 显示:发生未处理的异常:必须使用导入来加载 ES 模块

问题描述

在将角度从 10 更新到 12 时,我遵循了此处已经编写的所有步骤

https://update.angular.io/?l=3&v=10.0-12.0

但是,在正确执行所有这些步骤之后,以下是我得到的错误:

An unhandled exception occurred: Must use import to load ES Module: 

/home/../angular/node_modules/@angular/compiler-cli/bundles/index.js
require() of ES modules is not supported.
require() of /home/../angular/node_modules/@angular/compiler-cli/bundles/index.js from /home/../angular/node_modules/@angular-devkit/build-angular/src/webpack/configs/common.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /home/../angular/node_modules/@angular/compiler-cli/package.json.

我无法理解如何解决它。我试图从中删除"type": "module"/home/../angular/node_modules/@angular/compiler-cli/package.json但它并没有解决我的问题。

如果有人帮我解决这个问题,我会很高兴

标签: angular

解决方案


解决的问题

ng update -- to update angular for the local project

打开 package.json 以将“dependencies”和“devDependencies”中的所有角度项目从 12 更改为 13,例如:

"dependencies": {
    "@angular/animations": "~13.1.1",
    "@angular/cdk": "^13.1.1",
    "@angular/common": "~13.1.1",
    "@angular/compiler": "~13.1.1",
    "@angular/core": "~13.1.1",
    "@angular/forms": "~13.1.1",
    "@angular/material": "^13.1.1",
    "@angular/platform-browser": "~13.1.1",
    "@angular/platform-browser-dynamic": "~13.1.1",
    "@angular/router": "~13.1.1",
}
"devDependencies": {
    "@angular-devkit/build-angular": "~13.1.1",
    "@angular/cli": "~13.1.1",
    "@angular/compiler-cli": "~13.1.1",
    "typescript": "~4.5.4"
}
npm install

全部完成


推荐阅读