新的 Angular 项目不会在严格模式下编译

kat*_*tit 8 typescript angular

使用 CLI 修改生成的 Angular 项目tsconfig,添加了严格的选项

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "strict": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": ["node_modules/@types"],
    "lib": ["es2017", "dom"]
  }
}
Run Code Online (Sandbox Code Playgroud)

运行时出现ng serve以下错误:

src/app/app.component.ts(2,29) 中的错误:错误 TS7016:找不到模块“util”的声明文件。'D:/proj/node_modules/util/util.js' 隐式具有 'any' 类型。尝试npm install @types/util它是否存在或添加一个新的声明 (.d.ts) 文件,其中包含declare module 'util';

我试过npm install建议 - 这个模块不存在。我还尝试删除 node_modules 并执行npm install. 一样。任何指针?

编辑

app.component.ts

import { Component, OnInit } from "@angular/core";
import { isUndefined } from "util";

@Component({
  selector: "app-root",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.scss"]
})
export class AppComponent {
  title = "Portal";
}
Run Code Online (Sandbox Code Playgroud)

Shu*_*rma 1

尝试这个:

1:删除node_modules

2:运行npm安装

3:运行ngserve --aot=false

希望它能帮助你。