2017-02-07 8 views
6

я столкнулся с проблемой с поколением компонентов с использованием anglular-Cli нг-CLI не добавляет совершенно новый созданный компонент в модуль приложения:нг-кли не добавляет компоненты к модулю приложения

$ ng g component Try 
installing component 
    create src\app\try\try.component.css 
    create src\app\try\try.component.html 
    create src\app\try\try.component.spec.ts 
    create src\app\try\try.component.ts 
    update src\app\app.module.ts 
No app module found. Please add your new class to your component. 

Я не перемещал файлы. Структура проекта по умолчанию. src\app\app.module.ts существует и имеет следующее содержание:

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

import {HttpModule} from '@angular/http'; 
import {RouterModule} from '@angular/router'; 

import {AppComponent} from './app.component'; 
import {ROUTES} from "./app.routes"; 

@NgModule({ 
    imports: [ 
     BrowserModule, 
     FormsModule, 
     HttpModule, 
     RouterModule.forRoot(ROUTES) 
    ], 
    declarations: [ 
     AppComponent 
    ], 

    providers: [], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { 
} 

Все выглядит нормально.

+0

@Kinduser это просто командная строка, – zhekaus

+0

@Kinduser, но где? Хотелось бы, чтобы я знал, на чем основывается генератор, когда он ищет модуль приложения ... – zhekaus

+0

C: \ webProj \ EngMe \ web_engme – zhekaus

ответ

7

Итак, наконец, давайте закроем мою проблему. Мне очень жаль, я буду многословным, так как эта проблема нервничает.

Что касается меня, это был какой-то король ошибок в последней версии ng-cli или, возможно, в его несовместимости с последней версией связанных компонентов. Источником проблемы было мое обновление всех модулей, упомянутых в package.json, до последней стабильной версии.

Проблема была уверенно воспроизводимой. Однако теперь похоже, что Angular Team что-то решила, и после последнего обновления все стало нормально. Что я сделал, чтобы решить:

npm uninstall -g angular-cli @angular/cli 
npm uninstall angular-cli @angular/cli -–save-dev 
npm cache clean 
npm install -g @angular/[email protected] 
npm install --save-dev @angular/[email protected] 


# let’s update all the local again packages to the latest ones with this funny utility: 
npm install -g npm-check-updates 
ncu -u -a --packageFile package.json 
rm -rf node_modules 
npm install 

Теперь у меня есть следующие версии и все работает:

"devDependencies": { 
    "@angular/cli": "^1.0.0-beta.31", 
    "@angular/compiler-cli": "^2.4.7", 
    "@types/jasmine": "2.5.42", 
    "@types/node": "^7.0.5", 
    "angular2-template-loader": "^0.6.2", 
    "bootstrap": "^4.0.0-alpha.6", 
    "codelyzer": "~2.0.0", 
    "css-loader": "^0.26.1", 
    "css-to-string-loader": "^0.1.2", 
    "file-loader": "^0.10.0", 
    "html-loader": "^0.4.4", 
    "html-webpack-plugin": "^2.28.0", 
    "jasmine-core": "2.5.2", 
    "jasmine-spec-reporter": "3.2.0", 
    "karma": "1.4.1", 
    "karma-chrome-launcher": "^2.0.0", 
    "karma-cli": "^1.0.1", 
    "karma-jasmine": "^1.1.0", 
    "karma-remap-istanbul": "^0.6.0", 
    "protractor": "~5.1.1", 
    "pug-html-loader": "^1.1.0", 
    "pug-loader": "^2.3.0", 
    "raw-loader": "^0.5.1", 
    "stylus": "^0.54.5", 
    "stylus-loader": "^2.4.0", 
    "ts-loader": "^2.0.0", 
    "ts-node": "2.1.0", 
    "tslint": "^4.4.2", 
    "typescript": "~2.1.6", 
    "typings": "^2.1.0", 
    "url-loader": "^0.5.7", 
    "webpack": "^2.2.1", 
    "webpack-dev-server": "^2.3.0" 
    } 

Давайте попробуем еще раз:

$ ng generate component NewOne 
installing component 
    create src\app\new-one\new-one.component.css 
    create src\app\new-one\new-one.component.html 
    create src\app\new-one\new-one.component.spec.ts 
    create src\app\new-one\new-one.component.ts 
    update src\app\app.module.ts 

Fine.

0

Попробуйте это:

ng generate component menu(Component name) --module=app(root app module).module