2016-08-29 1 views
4

Ich bin ein Neuling über angular.js. Ich habe die Grundbegriffe von angular.js gelernt und verstehe die Projektstruktur.Kein NgModule in Ordnern, die von Angular-Cli generiert wurden

Aber wenn ich das eckige-cli benutze, um ein grundlegendes Projekt zu erzeugen, finde ich im Projekt, dass es kein NgModule im root src-Ordner gibt. Aber gemäß den Dokumenten in der Homepage von eckig war die Wurzel NgModule. Also hier ist meine Frage, was ist der Unterschied zwischen ihnen. Und warum benutzt der angular-cli die Komponente als Wurzel? Vielen Dank.

Antwort

1

Ich denke, eckig-CLI wurde noch nicht aktualisiert. Angular 2 verändert sich immer noch schnell.

ABER, können Sie es leicht selbst erstellen:

$ ng new yourproject

dann in yourproject/src/ Ordner navigieren, ersetzen main.ts auf diese Weise:

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

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

platformBrowserDynamic().bootstrapModule(AppModule); 

nun in den yourproject/src/app Ordner gehen und erstellen 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 { } 

Sie müssen möglicherweise auch einige Abhängigkeiten in yourproject/package.json hinzufügen/aktualisieren. Hier sind meine:

"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" 
    } 
0

sein, weil bisher, soweit ich weiß, Angular2 cli laufen die auf rc4 und nicht RC5 durch den Standard-npm installieren, wird das Beispiel, das Sie sehen, ist für RC5-Bibliotheken (NgModule) - und nicht rc4, Sie sollten die für Sie am besten geeignete Version wählen, da die Release-Candidate-Versionen dazu tendieren, sich schnell zu aktualisieren.

Verwandte Themen