您能告诉我为什么不能在CLI下使用吗?它说Specified module does not exist
。两个CLI命令的错误相同。
注意:我已将此应用程序从ng 5
升级到ng 6
。难道是由于升级方面的某些问题导致了此错误?
ng generate component messages --module=core
ng generate component messages --module=app
app.core.module.ts
export class CoreModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: CoreModule
};
}
}
app.module.ts
export class AppModule { }
ng --version
Angular CLI: 6.0.8
Node: 8.11.2
OS: win32 x64
Angular: 6.0.7
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, platform-server, router
... service-worker
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.6.8
@angular-devkit/build-angular 0.6.8
@angular-devkit/build-optimizer 0.6.8
@angular-devkit/core 0.6.8
@angular-devkit/schematics 0.6.8
@angular/cdk 6.3.2
@angular/cli 6.0.8
@angular/material 6.3.2
@angular/tsc-wrapped 0.5.2
@ngtools/webpack 6.0.8
@schematics/angular 0.6.8
@schematics/update 0.6.8
rxjs 6.2.1
typescript 2.7.2
webpack 4.8.3
package.json
{
"name": "Abc",
"version": "0.0.1",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "run-s build:client build:aot build:server",
"buildclient": "ng build --prod --build-optimizer --app 0",
"build:aot": "ng build --aot --app 1",
"build:server": "webpack -p",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"dev": "ng build --prod =cd dist http-server",
"build:firebase": "ng build --prod && cp src/manifest_app.json dist && firebase deploy"
},
"private": true,
"dependencies": {
"@angular/animations": "6.0.7",
"@angular/cdk": "^6.3.2",
"@angular/common": "6.0.7",
"@angular/compiler": "6.0.7",
"@angular/core": "6.0.7",
"@angular/forms": "6.0.7",
"@angular/http": "6.0.7",
"@angular/material": "^6.3.2",
"@angular/platform-browser": "6.0.7",
"@angular/platform-browser-dynamic": "6.0.7",
"@angular/platform-server": "6.0.7",
"@angular/router": "6.0.7",
"@angular/service-worker": "6.0.7",
"@auth0/angular-jwt": "^2.0.0",
"@cloudinary/angular": "^2.1.1",
"@jaspero/ng2-confirmations": "^0.3.3",
"@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.8",
"@ng-select/ng-select": "^0.36.2",
"@nguniversal/module-map-ngfactory-loader": "^5.0.0",
"@types/moment": "^2.13.0",
"angular2-useful-swiper": "^5.0.1",
"cloudinary-core": "^2.4.0",
"core-js": "^2.4.1",
"hammerjs": "^2.0.8",
"jquery": "^3.2.1",
"moment": "^2.20.1",
"ng-pwa-tools": "0.0.15",
"ng2-cloudinary": "^0.9.2",
"ng2-file-upload": "^1.3.0",
"ng2-img-max": "^2.1.15",
"ng4-geoautocomplete": "^0.1.0",
"ng4-loading-spinner": "^1.1.1",
"ngx-bootstrap": "^2.0.2",
"ngx-toastr": "^6.5.0",
"ngx-youtube-player": "^0.1.0",
"raven-js": "^3.26.3",
"rxjs": "^6.2.1",
"rxjs-compat": "^6.2.1",
"swiper": "^3.4.2",
"webrtc-adapter": "^6.1.4",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular/cli": "6.0.8",
"@angular/compiler-cli": "6.0.7",
"@angular/language-service": "6.0.7",
"@types/googlemaps": "^3.30.8",
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "~2.0.2",
"@types/jquery": "^3.2.18",
"@types/node": "~6.0.60",
"codelyzer": "~3.2.0",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"npm-run-all": "^4.1.2",
"protractor": "~5.1.2",
"ts-loader": "^3.5.0",
"ts-node": "~3.2.0",
"tslint": "~5.7.0",
"typescript": "2.7.2",
"webpack-node-externals": "^1.6.0",
"@angular-devkit/build-angular": "~0.6.8"
}
}
答案 0 :(得分:2)
请使用相对于您的base-href
的路径,即src/app
尝试
ng generate component messages --module ./app.core.module.ts
答案 1 :(得分:2)
以下代码适用于最新的CLI版本。
<!DOCTYPE html>
<head>
<meta http-equiv="refresh" content="1; url=https://en.wikipedia.org/wiki/Main_Page" />
</head>
</html>
不需要ng generate component messages --module app.core.module
如果我们要创建指向文件夹内指定模块的新组件,请指定文件夹路径。文件夹路径应为应用程序文件夹的根。
.ts
希望这会有所帮助。
答案 2 :(得分:1)
您可以节省时间和精力,而不必每次都为新组件添加命令--module ../path/to/name.module
,只需在您的angular.json
文件中添加以下配置即可:
"projects": {
"projectName": {
"schematics": {
"@schematics/angular:component": {
"module": "../path/to/name.module"
//.... other config
之后,您可以像往常一样添加组件。
答案 3 :(得分:0)
我偶然发现了这个问题,并使用如下命令解决了这个问题:
ng g c core/header --module core/core.module.ts
我使用了此命令,并遇到错误:
ng g c core/header --module core.module.ts