angular - Angular-Cli 生成的文件夹中没有 NgModule

标签 angular angular-cli

我是 Angular 的新手。学习了Angular的基本概念,了解了项目结构。

但是当我使用 Angular-CLI 生成一个基本项目时,我发现项目中的根 src 文件夹中没有 NgModule。但是根据 Angular 主页上的文档,root 是 NgModule。所以这是我的问题,它们之间有什么区别,为什么 Angular-CLI 使用组件作为根?谢谢。

最佳答案

我认为 angular-cli 还没有更新。 Angular 2 仍在快速变化。

但是,您可以自己轻松创建它:

$ ng new yourproject

然后在 yourproject/src/ 文件夹中导航,以这种方式替换 main.ts:

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import { AppModule } from './app/app.module';

platformBrowserDynamic().bootstrapModule(AppModule);

现在进入 yourproject/src/app 文件夹并创建 app.module.ts:

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { MdButtonModule } from '@angular2-material/button';

import { AppComponent }  from './app.component';

@NgModule({
  imports: [ BrowserModule ],
  declarations: [ AppComponent ],
  bootstrap: [ AppComponent ]
})
export class AppModule { }

您可能还需要在 yourproject/package.json 中添加/更新一些依赖项。这是我的:

  "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",
    "@angular/router": "3.0.0-rc.1",
    "@angular/router-deprecated": "2.0.0-rc.2",
    "@angular/upgrade": "2.0.0-rc.5",
    "bootstrap": "^3.3.6",
    "core-js": "^2.4.0",
    "es6-shim": "0.35.1",
    "reflect-metadata": "^0.1.3",
    "rxjs": "5.0.0-beta.6",
    "systemjs": "0.19.27",
    "zone.js": "^0.6.12"
  },
  "devDependencies": {
    "angular-cli": "1.0.0-beta.10",
    "codelyzer": "0.0.20",
    "ember-cli-inject-live-reload": "1.4.0",
    "jasmine-core": "2.4.1",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "0.13.22",
    "karma-chrome-launcher": "0.2.3",
    "karma-jasmine": "0.3.8",
    "protractor": "3.3.0",
    "ts-node": "0.5.5",
    "tslint": "^3.7.4",
    "typescript": "^1.8.10",
    "typings": "1.3.1"
  }

关于angular - Angular-Cli 生成的文件夹中没有 NgModule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39198132/

相关文章:

Angular-CLI sass 源图

php - Angular 2 + Angular cli + Laravel 5.3

Angular Browserslist : caniuse-lite is outdated. 请运行下一个命令 `npm update`

angular - Pace.js 在 IE 11 中不工作

Angular 5 动态地将组件插入现有标记?

angular - CodeMirror 作为 Angular2 组件

angular - 在 IIS 上提供 bundle.js.gz 文件

node.js - Node - 设置 angular-cli 环境

angular - HTTP拦截器发送相同的请求两次

angular - 父级监听子事件在 Angular2 中不起作用