0

我最近安装了 angular 13 并尝试安装 @nestjs/ng-universal

ng 添加@nestjs/ng-universal

这适用于以前的角度版本,但我成功安装了 Package然后出现此错误:

*An unhandled exception occurred: Package subpath './schematics/utils' is not defined by 
"exports" in C:\Users\ADMIN\kiambol\node_modules@nguniversal\express-engine\package.json
See "C:\Users\ADMIN\AppData\Local\Temp\ng-1gySjP\angular-errors.log" for further 
details.*

angular-errors.log 文件中的完整错误是:

[error] Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './schematics/utils' is not defined by "exports" in C:\Users\ADMIN\kiambol\node_modules@nguniversal\express-engine\package.json
at throwExportsNotFound (internal/modules/esm/resolve.js:299:9)
at packageExportsResolve (internal/modules/esm/resolve.js:522:3)
at resolveExports (internal/modules/cjs/loader.js:449:36)
at Function.Module._findPath (internal/modules/cjs/loader.js:489:31)
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:875:27)
at Function.Module._load (internal/modules/cjs/loader.js:745:27)
at Module.require (internal/modules/cjs/loader.js:961:19)
at require (internal/modules/cjs/helpers.js:92:18)
at Object. (C:\Users\ADMIN\kiambol\node_modules@nestjs\ng-universal\schematics\install\index.js:15:17)
at Module._compile (internal/modules/cjs/loader.js:1072:14)

当我查看 Angular 项目文件时,没有任何改变,服务器文件也没有设置。我尝试创建不同的角度项目只是为了查看我的角度项目是否没有正确选择然后再次添加ng add @nestjs/ng-universal 并且仍然得到相同的结果。

为了进行测试,我尝试使用ng add命令安装@nguniversal/express-engine ,并且安装正确,没有任何问题,并且一切设置正确。

安装过程中是否有任何变化;难道我做错了什么; 还是尚不支持Angular 13?

请帮忙。

4

3 回答 3

1

AFAIK 我认为这是一个错误@nestjs/ng-universal

作为一个快速而肮脏的解决方案,首先安装@nguniversal/express-engine 然后转到node_modules/@nguniversal/express-engine/package.json

  • 删除"type": "module"
  • 添加exports: _
    "./schematics/utils": {
      "types": "./schematics/utils/index.d.ts",
      "esm2020": "./schematics/utils/index.js",
      "es2020": "./schematics/utils/index.js",
      "es2015": "./schematics/utils/index.js",
      "node": "./schematics/utils/index.js",
      "default": "./schematics/utils/index.js"
    }

然后ng add @nestjs/ng-universal应该可以正常工作,并且通过更新包它应该恢复更改

于 2021-11-23T16:33:20.703 回答
0

我已经按照 AFAIK 的指示完成了。

  1. 我创建了一个干净的角度项目。

  2. 我运行npm i --save @nguniversal/express-engine

  3. 我去了node_modules/@nguniversal/express-engine/package.json 并且:

    • 删除了“类型”:“模块”
    • 在导出中添加了以下内容:
    "./schematics/utils": {
      "types": "./schematics/utils/index.d.ts",
      "esm2020": "./schematics/utils/index.js",
      "es2020": "./schematics/utils/index.js",
      "es2015": "./schematics/utils/index.js",
      "node": "./schematics/utils/index.js",
      "default": "./schematics/utils/index.js"
    }
  1. 在此之后我运行ng add @nestjs/ng-universal。这次情况有所不同,一切都正确安装,服务器文件也正确安装。
  2. 然后我运行npm run dev:ssr并得到以下错误:
./node_modules/@nestjs/common/utils/load-package.util.js:9:39-59 - Warning: Critical dependency: the request of a dependency is an expression

./node_modules/@nestjs/core/helpers/load-adapter.js:9:39-63 - Warning: Critical dependency: the request of a dependency is an expression

./node_modules/@nestjs/core/helpers/optional-require.js:6:39-59 - Warning: Critical dependency: the request of a dependency is an expression



Compiled successfully.
(node:18704) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

[Nest] 18704  - 11/25/2021, 1:34:15 PM     LOG [NestFactory] Starting Nest application...

[Nest] 18704  - 11/25/2021, 1:34:15 PM     LOG [InstanceLoader] AppModule dependencies initialized +37ms

[Nest] 18704  - 11/25/2021, 1:34:15 PM     LOG [InstanceLoader] AngularUniversalModule dependencies initialized +0ms

[Nest] 18704  - 11/25/2021, 1:34:15 PM     LOG [NestApplication] Nest application successfully started +7ms

connect ECONNREFUSED 127.0.0.1:51861

我将如何解决这个问题?

于 2021-11-25T11:06:23.150 回答
0

使用 Angular 13,“ng add @nestjs/ng-universal”会产生错误。因为它使用了最新版本的库,即第 6 版。相反,您可以使用“ng add @nestjs/ng-universal@5”,它工作得非常好。

于 2022-01-25T14:19:24.760 回答