如何在此文件夹中创建一个全新的 Angular 组件?为啥我使用 Angular CLI 获得此错误消息?

Posted

技术标签:

【中文标题】如何在此文件夹中创建一个全新的 Angular 组件?为啥我使用 Angular CLI 获得此错误消息?【英文标题】:How can I create an Angular brand new component into this folder? Why am I obtaining this error message using Angular CLI?如何在此文件夹中创建一个全新的 Angular 组件?为什么我使用 Angular CLI 获得此错误消息? 【发布时间】:2019-04-15 08:48:41 【问题描述】:

我是 Angular 的绝对初学者,我发现使用 Angular CLI 在我正在处理的 Angular 项目中创建组件时遇到一些问题。

我手动创建了一个子文件夹(在我的 Angular 项目中),我想在其中创建我的新组件,例如:

C:\Users\myusre\Source\Workspaces\MySolution\MyProject\WebProject\app\maildetail\maildetail-sidebar

我在我的 shell 中访问这个文件夹并执行这个语句:

ng generate component main-detail-protocollo-sidebar

所以我希望为我的新组件获得一个新目录(进入前一个目录)。

但我收到此错误消息:

The generate command requires to be run in an Angular project, but a project definition could not be found.

为什么?怎么了?我错过了什么?如何直接在之前的文件夹中创建一个全新的组件?

【问题讨论】:

我相信是一个没有完全解决的错误:github.com/angular/angular-cli/issues/12198 和github.com/angular/angular-cli/issues/12215 -- 你试过ng g c testComponent 吗?我知道是一样的,但只是出于好奇 @JacopoSciampi mmm 同样的问题 这个怎么样? ***.com/questions/53096996/… 【参考方案1】:

您必须在您的项目文件夹中 angular.jsonangular-cli.json 并尝试运行生成命令

ng generate component folder/main-detail-protocollo-sidebar --flat

通常cli会在你运行generate命令时生成一个文件夹,以避免你可以使用--flat

希望这会有所帮助 - 编码愉快 :)

【讨论】:

【参考方案2】:

您应该进入包含 angular.json 的文件夹

从那里你可以在组件名称中指定子路径,就像这样:

ng generate component subfolder/main-detail-protocollo-sidebar

【讨论】:

哇这个项目不包含 angular.json 文件。这是一个以某种方式封装 Angular 的 .NET 项目:-/

以上是关于如何在此文件夹中创建一个全新的 Angular 组件?为啥我使用 Angular CLI 获得此错误消息?的主要内容,如果未能解决你的问题,请参考以下文章

Angular 2:如何在组件将观察更改的服务中创建一个数组?

如何在 Angular2 中创建拦截器?

Angular /在一个命令中创建一个没有css文件的模块,组件?

如何在 Angular 2 中创建单例服务?

如何删除 Angular 表单组中的特定错误

如何在Angular 2中创建RxJS主题?