o.Subject 不是构造函数 - Angular 10

Jay*_*ani 20 rxjs angular angular10

Ng serveng build --prod命令工作正常,但是当我在服务器上部署应用程序时,出现以下错误:-

TypeError: o.Subject is not a constructor
at new e (vendor-esnext.js:1)
at Object.useFactory (vendor-esnext.js:1)
at Object.i [as factory] (vendor-esnext.js:1)
at Xo.hydrate (vendor-esnext.js:1)
at Xo.get (vendor-esnext.js:1)
at Jf.get (vendor-esnext.js:1)
at Object.get (vendor-esnext.js:1)
at Gn (vendor-esnext.js:1)
at Module.Sl (vendor-esnext.js:1)
at Mn.e.?fac [as factory] (vendor-esnext.js:1)
Run Code Online (Sandbox Code Playgroud)

tsconfig.base.json

{"compilerOptions": {
"baseUrl": "",
"allowSyntheticDefaultImports": true,
"declaration": false,
"downlevelIteration": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [
  "dom",
  "es2017"
],
"module": "esnext",
"moduleResolution": "node",
"sourceMap": true,
"target": "ESNext",
"paths": {
  "@angular/*": [
    "node_modules/@angular/*"
  ]
}},"include": [
"src/**/*.ts",
"node_modules/ng4-fittext/*.d.ts"],"exclude": [],"compileOnSave": false,}
Run Code Online (Sandbox Code Playgroud)

小智 36

如果您import按如下所示替换主题声明,该问题将在 Angular 10 及更高版本中得到解决。

代替:

import { Subject } from "rxjs/Subject";
Run Code Online (Sandbox Code Playgroud)

和:

import { Subject } from "rxjs";
Run Code Online (Sandbox Code Playgroud)

  • import { Observable } from 'rxjs/Observable' 也是如此。这也应该替换为 import { Observable } from 'rxjs' (2认同)