angular2:找不到模块'@ angular / core'

时间:2016-05-27 13:12:41

标签: typescript angular

我按照angular2 quick start来创建我的项目,一切正常但我的“tsc -w”命令行一直告诉我:

app/components/company/company.ts(1,36): error TS2307: Cannot find module '@angular/core'.
app/components/company/company.ts(5,22): error TS2307: Cannot find module '@angular/router'.
app/components/mission/mission.ts(1,36): error TS2307: Cannot find module '@angular/core'.
app/components/mission/mission.ts(3,22): error TS2307: Cannot find module '@angular/router'.

还有很多其他这样的路线。但是,一切都已成功编译,我的应用程序运行正常,但将所有这些警告/错误视为真正的错误会让它们在中间丢失是非常烦人的。

我正在使用Angular2 rc1,TypeScript 1.8.10,WebStorm EAP(尽管我没有使用WebStorm TypeScript编译系统,我依赖于带有“tsc -w”命令行的开放式终端)。

我在SO上检查了与此相关的其他问题,但我找不到任何对我有帮助的问题。

更新

这是我的tsconfig.json文件:

{
  "compilerOptions": {
    "target": "es5",
    "sourceMap": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "module": "system",
    "noImplicitAny": false,
    "outDir": "js",
    "rootDir": "app"
  },
  "exclude": [
    "node_modules",
    "typings/main",
    "typings/main.d.ts"
  ]
}

2 个答案:

答案 0 :(得分:17)

您应该使用/属性moduleResolution

node

答案 1 :(得分:5)

首先需要在全球范围内添加打字输入,如下所示。

npm install -g typings

然后使用以下命令创建typings.json。

typings init

在typings.json

中粘贴下面的代码
{
  "name": "ng2-application",
  "globalDependencies": {
    "core-js": "registry:dt/core-js#0.0.0+20160725163759",
    "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
    "node": "registry:dt/node#6.0.0+20160909174046"
  }
}

现在您需要在tsconfig.json中添加以下代码

 "compilerOptions": {
        "moduleResolution": "node"
       }

完成上述步骤后,您将能够获得F12的定义。