找不到模块 @angular/core + angular2

5

我正在尝试在Visual Studio 2015中使用Typescript创建一个Angular 2应用程序。我已经在我的计算机上安装了npm。当我编译我的应用程序时,我遇到了错误,无法找到模块'@angular/core'。它在node_modules文件夹中所有ts文件的导入语句中都被引用。

import { ElementRef, AfterViewInit, OnDestroy, DoCheck, EventEmitter, IterableDiffers } from '@angular/core';

我目前遇到了500多个错误。当我将其替换为'angular2/core'时,错误就消失了。同时,我在项目中还使用了PrimeNG UI组件。

有人可以帮忙吗?我不明白为什么它会查找@angular/core?


我建议使用 https://cli.angular.io/。另请参阅 https://www.youtube.com/watch?v=wHZe6gGI5RY。 - Günter Zöchbauer
谢谢。我可以将 cli.angular.io 生成的代码结构包含到我的 Visual Studio 解决方案中吗? - Tom
抱歉,我无法帮助您解决这个问题。 - Günter Zöchbauer
4个回答

5
  1. 安装nodejs
  2. 打开命令提示符并输入'cd 你的项目目录'
  3. 输入'npm install'并按回车键。

这将在该目录中创建一个node_modules文件夹,其中应该包含所需的@angular/core。


谢谢您的回答,真的节省了我的时间! - Red fx

2

在版本RC(发布候选)之前(beta版本),模块名称中使用的angular2名称是指代早期版本,而@angular则表示RC版本。


我正在使用Angular2 2.0.0-beta.17版本。那么问题是什么? - Tom
所以你需要使用:import { ... } from 'angular2/core'; - Thierry Templier
我现在有点困惑。当我执行npm install angular2时,它会安装angular2 2.0.0-beta.17版本。我该如何安装发布候选版本呢?因为我需要使用最新版本。 - Tom
事实上,对于rc版本,需要安装几个软件包:@angular/core,... - Thierry Templier
请查看此链接以获取更多详细信息:https://angular.cn/docs/ts/latest/quickstart.html - Thierry Templier

2

首先,您需要按以下方式在全局级别添加 typings。

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键后得到相关定义。

0

当我遇到这个问题时,它会根据我选择的模块类型而来去不定。(在 Visual Studio 中,右键单击项目,属性,Typescript 选项卡。它会出现在“System”模块系统中,该系统在 Angular2 QuickStart 教程中使用,但对于其他一些模块则不会出现,例如。)

我验证了文件夹 /node_modules/@angular/core/ 存在于项目中并已填充。

解决方案是编辑 .csproj 文件,并在 Debug 和 Release 部分中添加以下行:<TypeScriptModuleResolution>Node</TypeScriptModuleResolution>。VS 默认为某些 ModuleKind 设置使用经典设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接