我正在尝试使用Visual Studio 2015中的Typescript创建一个Angular 2应用程序。我在我的机器上安装了npm。当我编译我的应用程序时,我收到错误找不到模块'@ angular / core'。 它在import语句的node_modules文件夹下的所有ts文件中引用。 例如,
import { ElementRef, AfterViewInit, OnDestroy, DoCheck, EventEmitter, IterableDiffers } from '@angular/core';
我目前大约有500多个错误。当我用'angular2 / core'替换它时,错误就会消失。另外只是为了让您知道,我也在我的项目中使用PrimeNG UI组件。
有人可以帮忙吗?我不明白为什么要看@ angular / core?
答案 0 :(得分:5)
这将在该目录中创建一个node_modules文件夹,该文件夹应该具有所需的@ angular / core。
答案 1 :(得分:2)
模块名称中的delete newGrid[0][0];
delete newGrid[0];
delete newGrid;
名称适用于RC(候选版本)版本(beta版本)之前的版本,以及适用于RC版本的angular2
版本。
答案 2 :(得分:2)
首先需要在全球范围内添加打字输入,如下所示。
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的定义。
答案 3 :(得分:0)
当我遇到这个问题时,它会根据我选择的模块种类来来去去。 (Visual Studio,右键单击项目,属性,Typescript选项卡。它将出现在“System”模块系统中,该系统在Angular2 QuickStart教程中使用,但不适用于其他一些。)
我验证了proj中存在的文件夹/ node_modules / @ angular / core /已填充。
解决方案是编辑.csproj文件并在Debug和Release部分中添加行<TypeScriptModuleResolution>Node</TypeScriptModuleResolution>
。对于ModuleKind的某些设置,VS默认为此设置的Classic。