简体   繁体   中英

Cannot find module @angular/core + angular2

I am trying to create an Angular 2 application using Typescript in Visual Studio 2015. I have installed npm on my machine. When I compile my application , I am getting errors cannot find module '@angular/core'. It is referred in all the ts files under the node_modules folder in the import statement. For eg

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

I am currently getting around 500 plus errors. The error goes off when I replace it with 'angular2/core '. Also just to let you know , I am using PrimeNG UI Components in my project as well.

Could somebody help ? I don't understand why it is looking at @angular/core ?

  1. Install nodejs
  2. Open cmd prompt and type 'cd your project directory '
  3. Type 'npm install' and hit enter.

This will create a node_modules folder within that directory which should have the @angular/core that's required.

模块名称中的angular2名称用于RC(候选发布)版本(beta版本)之前的版本, @angular用于RC版本。

You first need to add typings at global level as below.

npm install -g typings

Then create typings.json using below command.

typings init

Paste below code in 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"
  }
}

Now you need to add below code in tsconfig.json

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

After doing above steps you will able to get definitions on F12.

When I had this issue, it would come and go depending on the module kind I had selected. (Visual Studio, right-click project, properties, Typescript tab. It would occur for the "System" Module System, which is used in Angular2 QuickStart tutorial, but not for some others, for example.)

I verified the folder /node_modules/@angular/core/ existed in the proj and was populated.

Solution was to edit the .csproj file and add the line <TypeScriptModuleResolution>Node</TypeScriptModuleResolution> in both Debug and Release sections. VS defaults to Classic for this setting for some settings of ModuleKind.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM