2016-08-10 3 views
22

Я читаю учебник Angular2 по адресу https://angular.io/docs/ts/latest/tutorial/toh-pt5.html. Все хорошо, чтобы выполнить маршрутизацию. Visual Studio код показывает ошибку в первых 03 строках:Angular2: ngModule, BrowserModule, FormsModule не являются экспортированными членами

import { NgModule }  from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { FormsModule } from '@angular/forms'; 

как

[ts] 
Module '"c:/Users/ktran/Source/Repos/angular2-quickstart-ts/node_modules/@angular/core/index"' has no exported member 'NgModule'. 

папки node_modules:

enter image description here

любая идея пожалуйста?

+0

может быть расконфигурацией SystemJS? –

+0

systemjs.config.js копируется из https://angular.io/docs/ts/latest/quickstart.html – beewest

+0

Тогда это может быть ошибка кода VS, как вы можете видеть в связанных wuestions, это с VS Code уже - спросил он. –

ответ

7

Некоторые модули просто добавляются в новую версию Angular, поэтому, если вы не обновляете ее, ее нельзя импортировать.

Примерно через полчаса поиска, получил решение:

Создать новую папку и перейдите в папку.

В командной строке введите:

git clone https://github.com/angular/quickstart 
cd quickstart 
npm install 

И скопировать старый код на вновь созданный проект

+1

С уважением и благодарностью за публикацию, мне лично это как-то больше похоже на обходное решение – bevada

+0

ha! Это было хорошее предложение от Kim - оно может быть даже более легким, просто 1) скопируйте из github/angular/quickstart только элементы зависимости package.json и элементы devdependencies и 2) в вашем собственном файле package.json замените эти записи, а затем 3) сделать «npm install» и 4) «npm start» (он по-прежнему выглядит обходным путем - у кого есть реальный ответ?) – bevada

+0

Thansk Kim. Эти классы находятся в версии 2.0.0-rc.5, тогда как я объявляю 2.0.0-rc.4 в package.json. – beewest

30

Как заявил Ким Фунг, это потому, что новый РЦ угловому был выпущен только. Измените следующие строки в packages.json:

// ...snip... 
"dependencies": { 
    "@angular/common": "2.0.0-rc.5", 
    "@angular/compiler": "2.0.0-rc.5", 
    "@angular/core": "2.0.0-rc.5", 
    "@angular/forms": "0.3.0", 
    "@angular/http": "2.0.0-rc.5", 
    "@angular/platform-browser": "2.0.0-rc.5", 
    "@angular/platform-browser-dynamic": "2.0.0-rc.5", 

// ...file continues... 

Затем запустите в консоли:

npm update 

Хорошо идти!

+6

У кого-то есть проблемы с обновлением npm, убедитесь, что вы запустили его с помощью root/administrator в окне. – Elec

+0

Это помогло бы команде заполучить последнее. – krillgar

+1

Спасибо за ответ '' '' @ angular/forms ":" 0.3.0 ",' '' решена моя проблема – styopdev

0

У меня просто была аналогичная проблема с обновлением примера приложения до 2.0.1 с использованием образца быстрого запуска. Я зафиксировал его путем обновления не только package.json, но и systemjs.config.js и typings.json

-1

Если это решение не поможет, попробуйте возобновить VSCode. Для меня это была проблема с редактором.

+0

просто повторное открытие ничего не изменит. Но я могу себе представить, что перезапуск сервера может быть. В Windows: нажмите Ctrl-C в окне консоли, чтобы закрыть текущую команду и повторно отправить команду 'ng serve' – bvdb

0

Пожалуйста, убедитесь, что вы включили FormsModule на импорт ngModule

@NgModule({ 
    imports:  [ BrowserModule,**FormsModule** ], 
    declarations: [ AppComponent ], 
    bootstrap: [ AppComponent ] 
}) 
0

, если у вас есть этот тип ошибки. импорт {NgModule} из '@ angular/core'; import {BrowserModule} из '@ angular/platform-browser'; попробовать эту команду:

обновление НПХ

Смежные вопросы