2016-01-09 3 views
22

Я разрабатываю приложение узла с угловым2 и глотком. Я написал компонент login.ts файл следующим образом:Не удается найти модуль 'angular2/angular2'

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 { 

} 

И мой файл bootstrap.ts является:

import {bootstrap} from 'angular2/angular2'; 

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

bootstrap(login); 

, но когда я скомпилировать эти файлы, которые он дает мне следующие ошибки:

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

Вот мой tsconfig.json:

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

Я установил ввод для angular2 с помощью:

tsd install angular2 --save 

Пожалуйста, помогите исправить ошибку.

+1

@View была сброшена так что этот код больше не действует в Angular2 – Satch3000

+1

Я думаю, что его важно упомянуть ...Существует разница между импортом из 'angular2' vs '@angular'. Если вы используете cdn (т. Е. '

24

Он изменил модуль впереди идти бета к

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

FYI: самозагрузки также изменен на

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

в результате много постов блога в сети устарели: - (

+0

TS2300: Дублирующий идентификатор «....». получить эту ошибку, если я сделал выше изменений – Rhushikesh

+0

, если я это сделаю /node_modules/angular2/typings/node/node.d.ts, столкнувшись с типом \ node \ node.d.ts – Rhushikesh

+0

typings \ node \ node.d.ts is Необходимость в экспресс, mongoose – Rhushikesh

0

импорта из «» angular2/angular2' был в предыдущей версии, которая больше не поддерживается теперь .so Теперь мы должны импортировать те же из «angular2/core'.For подробно эталонный использования (https://angular.io/guide/quickstart)

+0

yup, quickstart - лучший способ оставаться в курсе изменений в Angular2 – kimbaudi

4

согласно новый выпуск Angular2 rc1, вы можете обновить package.json для

"dependencies": { 
    "@angular/common": "2.0.0-rc.1", 
    "@angular/compiler": "2.0.0-rc.1", 
    "@angular/core": "2.0.0-rc.1", 
    "@angular/http": "2.0.0-rc.1", 
    "@angular/platform-browser": "2.0.0-rc.1", 
    "@angular/platform-browser-dynamic": "2.0.0-rc.1", 
    "@angular/router": "2.0.0-rc.1", 
    "@angular/router-deprecated": "2.0.0-rc.1", 
    "@angular/upgrade": "2.0.0-rc.1", 
    ..... 
} 

в дополнение к этому также импортировать следующим образом в компоненте или контейнере:

import { Component } from '@angular/core'; 
import {ROUTER_DIRECTIVES, Router, RouteParams} from '@angular/router-deprecated'; 
3

Пожалуйста, обратите внимание, что форма Angular2 окончательный выпуск - правильный ответ.

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

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

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

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

import {Http, HTTP_PROVIDERS, RequestOptions, Headers, Request, RequestMethod} from 'angular/http' 

Это верно как сказано в обновлении yups 2 сверху

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 
3

вы должны обновить версию Angular2 в окончательном варианте -

А затем использовать как ----

import { Component } from '@angular/core'; 

есть обновленная библиотека, например --- '@angular/core'

-1
  • Сначала обновите свои угловые2 на уровне packege.json.
  • Второй

    import {Component} from "@angular/core"; 
    import {FormBuilder } from "@angular/forms"; 
    
    @Component({ 
        selector: "login", 
        providers: [FormBuilder], 
        templateUrl: "/scripts/src/components/login/login.html" 
    }) 
    
    
    export class login { 
    
    } 
    
0

'angular2/angular2' не является допустимым зависимостями angular2

вы должны сначала проверить package.json файл "@ угловом/ядра" существуют или не

"dependencies": { 
    "@angular/common": "2.0.0", 
    "@angular/compiler": "2.0.0", 
    "@angular/core": "2.0.0", 
    "@angular/http": "2.0.0", 
    "@angular/platform-browser": "2.0.0", 
    "@angular/platform-browser-dynamic": "2.0.0", 
    "@angular/router": "2.0.0", 
    "@angular/router-deprecated": "2.0.0", 
    "@angular/upgrade": "2.0.0", 
    ..... 
} 

см. файл компонента как это, а также вы тоже использовать formGroup в Белове

import { Component, OnInit, DoCheck } from '@angular/core' 
    import { Router } from '@angular/router' 

    import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms' 

    @Component({ 
     selector: 'app-user-profile', 
     templateUrl: './user-profile.component.html', 
     styleUrls: ['./user-profile.component.scss'], 
    }) 
    export class UserProfileComponent implements OnInit, DoCheck { 
     profileForm: FormGroup 

     constructor(private fb: FormBuilder) { 
     this.profileForm = this.fb.group({ 
      firstName: ['', Validators.required], 
      lastName: ['', Validators.required], 
      email: ['', Validators.required], 
      mobileNo: ['', Validators.required] 
     }); 
    } 

чем вы должны импортировать ReactiveFormsModule в app.module.ts файл
импорт {ReactiveFormsModule} из @ угловые/формы ';

без ReactiveFormsModule formGroup не работает это сделать ошибку

import { NgModule } from '@angular/core'; 
import { CommonModule } from '@angular/common'; 
import { UserProfileComponent } from './user-profile.component'; 

import { UserProfileRoutingModule } from './user-profile-routing.module'; 
import { ReactiveFormsModule } from '@angular/forms'; 

@NgModule({ 
    imports: [ 
    CommonModule, 
    UserProfileRoutingModule, 
    ReactiveFormsModule 
    ], 
    declarations: [UserProfileComponent] 
}) 
0

лучший способ удар angular2 проекта использует Угловая CLI.

Угловой CLI упрощает создание приложения, которое уже работает, прямо из коробки. Это уже соответствует нашим лучшим практикам!

check this для получения более подробной информации.

3

Вы пытаетесь получить доступ к компоненту из неправильной/старой директории node_modules. Пожалуйста, войдите компонент из

import { Component, OnInit } from '@angular/core'; 

вместо: import { Component, View } from 'angular2/angular2';

И

бутстрапе Access из сильфона пути:

import { bootstrap } from 'angular2/platform/browser'; 
Смежные вопросы