找不到模块'angular2/angular2'

Rhu*_*esh 23 node.js typescript angular

我正在开发一个带有angular2和gulp的节点应用程序.我已经编写了一个组件文件login.ts,如下所示:

import {Component, View} from 'angular2/angular2';
import {FormBuilder,  formDirectives } from 'angular2/forms';
@Component({
  selector: 'login',
  injectables: [FormBuilder]
})
@View({
  templateUrl: '/scripts/src/components/login/login.html',
  directives: [formDirectives]
})

export class login {

}
Run Code Online (Sandbox Code Playgroud)

我的bootstrap.ts文件是:

import {bootstrap} from 'angular2/angular2';

import {login} from './components/login/login';

bootstrap(login);
Run Code Online (Sandbox Code Playgroud)

但是当我编译这些文件时,它会给我以下错误:

client\bootstrap.ts(1,25): error TS2307: Cannot find module 'angular2/angular2'.
client\components\login\login.ts(1,31): error TS2307: Cannot find module 'angular2/angular2
client\components\login\login.ts(2,45): error TS2307: Cannot find module 'angular2/forms'.
Run Code Online (Sandbox Code Playgroud)

这是我的tsconfig.json:

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "sourceMap": true,
        "watch": true,
        "removeComments": true,
        "moduleResolution": "node",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经安装了angular2的输入:

tsd install angular2 --save
Run Code Online (Sandbox Code Playgroud)

请帮助修复错误.

Par*_*ain 34

@simon错误说是在进口中.但对于进一步的进口,我发布了这个答案可能对其他人也有用.

import {Component, View, Directive, Input, Output, Inject, Injectable, provide} from 'angular2/core'; 

import {bootstrap} from 'angular2/platform/browser';

import {CORE_DIRECTIVES, FORM_DIRECTIVES, NgClass, NgIf  NgForm, Control, ControlGroup, FormBuilder, Validators} from 'angular2/common';

import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS, Router, LocationStrategy, HashLocationStrategy} from 'angular2/router';

import {Http, HTTP_PROVIDERS, RequestOptions, Headers, Request, RequestMethod} from 'angular2/http'
Run Code Online (Sandbox Code Playgroud)

更新 -

@View 现在不再是angular2,所以不需要导入

import {view} from 'angular2/core'
Run Code Online (Sandbox Code Playgroud)

更新2

由于angular2在RC中,所以所有进口都有重大变化,如果所有更新的进口都是列表 -

angular2/core -> @angular/core
angular2/compiler -> @angular/compiler
angular2/common -> @angular/common
angular2/platform/common -> @angular/common
angular2/common_dom -> @angular/common
angular2/platform/browser -> @angular/platform-browser-dynamic
angular2/platform/server -> @angular/platform-server
angular2/testing -> @angular/core/testing
angular2/upgrade -> @angular/upgrade
angular2/http -> @angular/http
angular2/router -> @angular/router
angular2/platform/testing/browser -> @angular/platform-browser-dynamic/testing
Run Code Online (Sandbox Code Playgroud)


Sim*_*n H 24

它在测试之前就改变了模块

import {Component, View} from 'angular2/core';
Run Code Online (Sandbox Code Playgroud)

仅供参考:bootstrap也改为

import {bootstrap} from 'angular2/platform/browser';
Run Code Online (Sandbox Code Playgroud)

因此,网上的很多博客文章都已过时:-(