我按照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"
]
}
答案 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的定义。