没有导出的成员/节点模块

Bli*_*ish 13 node.js angularjs typescript typescript-typings angular

我刚刚使用此处的5分钟快速入门启动Angular 2/Typescript .我遇到了看似常见的问题,但可能有点不同.我遇到了各种各样的"没有出口成员"的问题.例子:

来自app.module.ts:

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
Run Code Online (Sandbox Code Playgroud)

返回

...node_modules/@angular2/core/index" has no exported member 'NgModule'.
Run Code Online (Sandbox Code Playgroud)

...@angular/platform-browser/index" has no exported member 'BrowserModule'.
Run Code Online (Sandbox Code Playgroud)

从main.ts:

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
Run Code Online (Sandbox Code Playgroud)

抛出:

...@angular/platform-browser-dynamic/index" has no exported member 'platformBrowserDynamic'.
Run Code Online (Sandbox Code Playgroud)

我正在运行节点版本4.4.7和npm版本3.10.5.

我知道这些可能在本教程的上下文中通过回滚节点或npm到与教程相关的版本来解析.我想我更喜欢的是如何使教程中的代码与当前版本的节点相关.

ETA:这些错误发生在编译时,而不是执行.

Sud*_*kar 37

对我来说这是VSCode编辑器问题.只需重新打开编辑器即可解决问题


Thi*_*ier 5

该类NgModulenode_modules/@angular/core/src/metadata.d.ts通过node_modules/@angular/core/index.d.tsone.class 从文件中导出的。

我想知道您是否正确指定了文件moduleResolution中的属性tsconfig.json

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