node.js - Finner ikke modul 'angular2/angular2'


Jeg utvikler en Node-app med Angular2 og Gulp. Jeg har skrevet en komponentfil login.ts som følger:

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 {

}

Og filen min bootstrap.ts er:

import {bootstrap} from 'angular2/angular2';

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

bootstrap(login);

men når jeg kompilere disse filene gir det meg følgende feil:

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'.

Her er min tsconfig.json:

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "sourceMap": true,
        "watch": true,
        "removeComments": true,
        "moduleResolution": "node",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true
    }
}

Jeg har installert typingen for angular2 ved å bruke:

tsd install angular2 --save

Vennligst hjelp med å rette feilen.

Svar #1

yups som sagt av @simon, feilen er i importene. men for videre import har jeg lagt ut dette svaret, det kan være nyttig for andre også.

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'

oppdatering -

@View finnes ikke lenger i Angular2 nå, så det er ikke nødvendig å importere

import {view} from 'angular2/core'

Oppdatering 2

Siden Angular2 er i RC, er det en brytende endring i alle imports. Her er listen over alle oppdaterte imports -

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

Svar #2

Det endret modul rett før den gikk til beta for å

import {Component, View} from 'angular2/core';

FYI: bootstrap ble også endret til

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

som et resultat er mange av blogginnleggene på nettet utdaterte :-(

Relaterte artikler