node.js - 如何修复目录导入 '@angular-devkit\build-angular\src\dev-server' 不支持在将 Angular 更新到版本 13 后解析 ES 模块

标签 node.js angular exception angular13

当运行 ng serve 更新我的 Angular 版本后出现以下错误:

An unhandled exception occurred: Directory import 'C:\Users\xxx\Documents\desktop-server-client-app\desktop\server\client\node_modules\@angular-devkit\build-angular\src\dev-server' is not supported 
resolving ES modules imported from C:\Users\xxx\Documents\desktop-server-client-app\desktop\server\client\node_modules\@angular\cli\node_modules\@angular-devkit\architect\node\node-modules-architect-host.js
Did you mean to import C:/Users/xxx/Documents/desktop-server-client-app/desktop/server/client/node_modules/@angular-devkit/build-angular/src/dev-server/index.js?
See "C:\Users\xxx\AppData\Local\Temp\ng-TMJqg5\angular-errors.log" for further details.

日志输出:

[error] Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import 'C:\Users\xxx\Documents\desktop-server-client-app\desktop\server\client\node_modules\@angular-devkit\build-angular\src\dev-server' is not supported resolving ES modules imported from C:\Users\xxx\Documents\desktop-server-client-app\desktop\server\client\node_modules\@angular\cli\node_modules\@angular-devkit\architect\node\node-modules-architect-host.js
    Did you mean to import C:/Users/xxx/Documents/desktop-server-client-app/desktop/server/client/node_modules/@angular-devkit/build-angular/src/dev-server/index.js?
        at finalizeResolution (internal/modules/esm/resolve.js:272:17)
        at moduleResolve (internal/modules/esm/resolve.js:699:10)
        at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:810:11)
        at Loader.resolve (internal/modules/esm/loader.js:85:40)
        at Loader.getModuleJob (internal/modules/esm/loader.js:229:28)
        at Loader.import (internal/modules/esm/loader.js:164:28)
        at importModuleDynamically (internal/modules/cjs/loader.js:1006:27)
        at exports.importModuleDynamicallyCallback (internal/process/esm_loader.js:30:14)
        at eval (eval at loadEsmModule (C:\Users\xxx\Documents\desktop-server-client-app\desktop\server\client\node_modules\@angular\cli\node_modules\@angular-devkit\architect\node\node-modules-architect-host.js:195:12), <anonymous>:3:1)
        at loadEsmModule (C:\Users\xxx\Documents\desktop-server-client-app\desktop\server\client\node_modules\@angular\cli\node_modules\@angular-devkit\architect\node\node-modules-architect-host.js:195:68)

有人可以向我解释这个错误的含义以及我该如何解决它吗?在我看来,这是某种我无能为力的兼容性问题。到目前为止,我的 Angular 项目只包含一些样板代码,所以应该不是问题。

编辑:我的版本如下:

Node: 14.15.0
npm: 6.14.8
Angular: 13.2.4

@angular-devkit/architect: 0.1202.16
@angular-devkit/build-angular: 12.2.16
@angular-devkit/core: 12.2.16
@angular-devkit/schematics: 13.2.5
@angular/cdk: 12.2.13
@angular/cli: 13.2.5
@angular/material: 12.2.13
@schematics/angular: 13.2.5
rxjs: 6.6.7
typescript: 4.5.5

最佳答案

我遇到了这个问题,因为我使用 --legacy-peer-deps 标志将我的项目更新到了 Angular 13。因此,package.json 中仍然存在旧的依赖项。

确保您拥有与引发错误相关的适当软件包版本。在您的确切情况下,尝试更改

"@angular-devkit/build-angular": "~12.2.16""@angular-devkit/build-angular": "~13.2.5"

然后运行 ​​npm install

关于node.js - 如何修复目录导入 '@angular-devkit\build-angular\src\dev-server' 不支持在将 Angular 更新到版本 13 后解析 ES 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71266258/

相关文章:

node.js - Node : one core, 许多进程

node.js - 使用 craco 的 React App 不会在 docker-compose 中启动

android - Api 28 类是从 androidx 的支持库中调用的

angular - 使用 i-frame 或 SDK 嵌入 Google meets

c# - 异常 : How can I get the most possible information?

exception - 如何在网络连接恢复后恢复 HttpClient?

linux - 使用 npm 安装后找不到命令

javascript - 使用 feathersjs 通过简单的 rest 调用进行身份验证

javascript - Angular2 将 html 传递给组件

javascript - Http get后访问组件中的数组