当使用ng g c my-component生成一个新组件时,我会得到以下错误:
找不到NgModule。使用skip选项在NgModule中跳过导入。
如果我然后使用跳过导入选项角将在我的e2e文件夹中生成组件。
我假设这与我的angular.json文件有关,该文件在我运行ng升级之前曾被称为angular-cli.json,这无疑是造成问题的原因,因为似乎出现了一些结构性变化。
有没有办法解决这个问题,而不使用CLI创建一个新项目,然后手动复制文件..?
ng g c从根“my”文件夹中运行。
文件夹结构:
my-app
- dist
- e2e
- node_modules
- src
- app
- etcangular.json在我的-app文件夹中
**Angular Versions:**
@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/cli 6.0.8
@ngtools/webpack 6.0.8
@schematics/angular 0.6.8
@schematics/update 0.6.8
rxjs 5.5.2
typescript 2.5.3
webpack 4.8.3发布于 2018-06-20 12:53:00
回答/更新任何有相同问题的人。
您可以将cd转到组件目录,ng g c可以正常工作。
为了能够从根文件夹中运行这一功能,我将@角/cli的版本回滚到6.0.3版本。我以前安装了6.0.8。
安装旧版本的npm i @angular/cli@6.0.3
然后,ng g c your-component将在根文件夹中正常工作。
发布于 2018-06-17 13:04:20
我闻到ng在app root上找到多个模块文件,请在生成组件时提供模块。
ng generate component componentName --module=<MODULE-NAME>
ng generate component componentName --module=app.module发布于 2018-12-13 08:17:16
在将一个项目从角4.3升级到角度6后,我也遇到了同样的问题,问题是项目名称-e2e项目下的sourceRoot值在angular.json中。它被设置为"e2e“。与最初使用Range6(而不是升级)创建的其他项目相比,我注意到它们在e2e项目上为e2e指定了一个空字符串。在将我的配置改为那个配置后,这个问题就解决了。
请注意,主项目的sourceRoot仍然应该是"src",您只需要将其更改为e2e项目上的空字符串。
https://stackoverflow.com/questions/50896796
复制相似问题