node.js - Visual Studio代码: "' tslib' cannot be found"error in Angular project

标签 node.js angular typescript visual-studio-code single-page-application

基本上,我所做的就是启动一个新的 Angular 项目并将其加载到工作区中。由于此错误,VS Code 似乎无法执行任何 linting 或代码感知。它正在吐出以下错误数据:

{
    "resource": "/Users/<snip!>/angular-project/src/app/app.module.ts",
    "owner": "typescript",
    "code": "2354",
    "severity": 8,
    "message": "This syntax requires an imported helper but module 'tslib' cannot be found.",
    "source": "ts",
    "startLineNumber": 13,
    "startColumn": 1,
    "endLineNumber": 26,
    "endColumn": 3
}

我在某处发现了一个旧错误,说 tsconfig.jsonmoduleResolution 必须设置为 node,但 Angular CLI 已经完成了对我来说...

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "module": "esnext",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "importHelpers": true,
    "target": "es2015",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  }
}

编辑:我到达这里所采取的步骤(在撰写本文时使用版本 8):

  1. 安装 Angular CLI:$ npm install -g @angular/cli
  2. 创建项目:$ ng new angular-project
  3. 为项目提供服务:$ ngserve

有人知道如何解决这个问题吗?

最佳答案

下面是我使用 Angular 8 的 package.json 文件。检查您是否安装了 tslib。

同时删除 package-lock.json 并删除 node_modules 文件夹,然后再次运行 npm i

{
  "name": "ngrx",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~8.0.0",
    "@angular/common": "~8.0.0",
    "@angular/compiler": "~8.0.0",
    "@angular/core": "~8.0.0",
    "@angular/forms": "~8.0.0",
    "@angular/platform-browser": "~8.0.0",
    "@angular/platform-browser-dynamic": "~8.0.0",
    "@angular/router": "~8.0.0",
    "rxjs": "~6.4.0",
    "tslib": "^1.9.0",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.800.0",
    "@angular/cli": "~8.0.0",
    "@angular/compiler-cli": "~8.0.0",
    "@angular/language-service": "~8.0.0",
    "@types/node": "~8.9.4",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "~2.0.3",
    "codelyzer": "^5.0.0",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.1.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.4.0",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.15.0",
    "typescript": "~3.4.3"
  }
}

关于node.js - Visual Studio代码: "' tslib' cannot be found"error in Angular project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56589020/

相关文章:

angular - 如何从 Modal 调用父方法

javascript - 使用 Sails 在 express node.js 中将字符串从客户端发布到 mongoDB

javascript - 如何在不影响性能的情况下向函数添加详细的日志记录代码?

javascript - 如何基于接口(interface)TypeScript创建对象?

angular - 如何获取仅在分页的 Material 数据表页面中显示的数据

node.js - 无法在 Ubuntu 16.04 中安装 Angular CLI

arrays - 如何在 React + Typescript 中检查数组中 javascript 对象的所有值是否为真?

Javascript:如何在没有 jQuery 或 AJAX 的情况下将 JSON 对象作为文件加载?

javascript - 等待异步函数并 promise 完成

html - 对象数组的 Mat 选择过滤器