No Exported Member/Node Модули
Я только начинаю Angular 2/Typescript с помощью 5 минут быстрого запуска, найденного здесь. Я столкнулся с тем, что выглядит общей проблемой, но, может быть, немного отличается. Я сталкиваюсь со всеми типами проблем "Без экспорта". Примеры:
Из app.module.ts:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
Возвращает
...node_modules/@angular2/core/index" has no exported member 'NgModule'.
и
[email protected]/platform-browser/index" has no exported member 'BrowserModule'.
И из main.ts:
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
throws:
[email protected]/platform-browser-dynamic/index" has no exported member 'platformBrowserDynamic'.
Я запускаю node версию 4.4.7 и версию npm версии 3.10.5.
Я понимаю, что они, вероятно, разрешимы в контексте учебника, отбросив node или npm до версии, относящейся к учебнику. Я предполагаю, что я предпочел бы иметь объяснение того, как сделать код из учебника актуальным для текущих версий node.
ETA: Эти ошибки возникают при компиляции, а не в выполнении.
Ответы
Ответ 1
Класс NgModule
экспортируется из файла node_modules/@angular/core/src/metadata.d.ts
через node_modules/@angular/core/index.d.ts
.
Интересно, правильно ли вы указали свойство moduleResolution
в файле tsconfig.json
:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node", // <-----
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
}
}
Ответ 2
Для меня это был редактор VSCode. Простое повторное открытие редактора разрешило его
Ответ 3
обновите все ваши @ angular зависимости в package.json как минимум на "2.0.0-rc.5"
после этого проверьте загрузку приложения в main.ts.
в соответствии с изменением 2.0.0-rc.5 происходит смена начальной загрузки вашего приложения. или см. также обновленное руководство по учебникам https://angular.io/guide/quickstart.
import {NgModule} from '@angular/core';
@NgModule({
declarations: […], // directives, components, and pipes owned by this NgModule
imports: [BrowserModule],
providers: […], // additional providers
bootstrap: [MainComponent],
})
class MyAppModule {}
// Ahead of Time compile
import {platformBrowser} from ‘@angular/platform-browser’;
platformBrowser().bootstrapModuleFactory(MyAppModuleNgFactory);
// JIT compile long form
import {platformBrowserDynamic} from ‘@angular/platform-browser-dynamic’;
platformBrowserDynamic().bootstrapModule(MyAppModule);
Ответ 4
В файле package.json все зависимости, которые используют rc.4, заменяют их на rc.5. Тогда это сработает.