当我使用CLI创建新组件时,出现此主题的错误:ng g c my-component --project=my-project
(未创建任何组件)
我看过其他帖子,它们具有相同的错误消息,但是它们都没有包含Nrwl / Nx,我认为其中有些涉及。该项目从Ng4开始,并已升级到Ng6。
有什么办法可以解决这个问题吗?
谢谢。
TTE
环境:
更新#1
我尝试完全删除--project
标志(因此仅ng g c my-component
),仍然遇到相同的问题。还不知道那是什么意思。
答案 0 :(得分:42)
1)将cmd /终端中的当前目录更改为 src / app
cd src/app
(Linux)
cd .\src\app\
(窗口)
2)立即运行命令
ng g c myComponent
答案 1 :(得分:7)
您在cmd窗口中的当前目录很重要。 从项目的“ src / app ”文件夹中运行此命令。 应该可以。
答案 2 :(得分:2)
组件的生成旨在做两件事:
app.module.ts
中)问题是,您没有app.module.ts
。您将其重命名为其他名称,甚至可能有多个名称。在这种情况下,有两种可能的解决方案:
您可以手动注册组件。 (最简单)
ng g组件mycomponent -跳过导入
您可以使用-m
开关指定模块。 (可能会损坏)这里有一个很长的话题:https://github.com/nrwl/nx/issues/526
答案 3 :(得分:2)
第一种方式:
我认为首先您必须进入您的应用程序文件夹,然后键入cmd;
ng g c your_com_name --spec false
或ng g c your_com_name
它肯定会创建您的组件或解决您的问题。
第二种方式:
从angular.json->projects
中删除e2e:
肯定
{
your_project_name-e2e:{}
}
示例:my-first-app-e2e
{
"root": "e2e/",
"projectType": "application",
"architect": {
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "my-first-app:serve"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": "e2e/tsconfig.e2e.json",
"exclude": [
"**/node_modules/**"
]
}
}
}
}
答案 4 :(得分:2)
尝试--skip-import
ng g c mycomponent --skip-import
打开终端并点击应用->输入comand ng g c 'your component name'
并按Enter
我认为这些是您单击一次并检查它的错误 https://i.stack.imgur.com/RSG7c.png
答案 5 :(得分:2)
这是一个很奇怪的答案,但是会出现问题,因为我仅在src目录中打开了我的项目。重新打开整个项目文件夹可以解决此问题。
答案 6 :(得分:1)
我遇到了同样的问题,在angular.json文件中,我搜索了my-project-e2e(用您的项目名称替换my-project) 然后我改变了:
"root": ""
至"root": "e2e"
并保存。一切又恢复正常了。
此link中指定了解决方案。
答案 7 :(得分:1)
我最终完全删除了<div class="folders">
<div data-id="12452">
<h2>Folder 1</h2>
</div>
<div data-id="12453">
<h2>Folder 2</h2>
</div>
<div data-id="12454">
<h2>Folder 3</h2>
</div>
</div>
<form id="the_form">
<input type="hidden" name="hidden_field" value="">
</form>
,清理了纱线缓存,然后运行node_modules
重新安装了所有软件包。我还编辑了yarn
文件,以便所有应用程序和库的路径都像这样:
angular.json
我不确定哪个解决了问题,但现在一切似乎都还可以。至少眼前的问题消失了。
希望这对其他人有帮助。
TTE
答案 8 :(得分:1)
您不在应用程序文件夹中... 在Windows上打开cd应用程序,然后运行命令
愉快的生活
答案 9 :(得分:1)
您可能已将文件 app.module.ts 更改为其他文件夹(在 app 文件夹之外)。 Ionic找不到文件。
答案 10 :(得分:0)
从visual studio代码我做了一个: 右键单击应用程序文件夹-> 单击“在集成终端中打开”-> 运行 cmd:ng g 组件用户。 已创建 4 个文件。运行成功!
答案 11 :(得分:0)
确保你在正确的道路上(我的意思是在你正在工作的道路上) 所以只需通过打印工作目录(pwd)在控制台中验证并更改它。这对我有用
答案 12 :(得分:0)
我有同样的问题。我的问题(在ionic 4中)是文件app-routing.module.ts丢失了。在添加新的页面之前,我必须创建一个空的页面:
import { NgModule } from '@angular/core';
import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{
path: '',
redirectTo: 'home',
pathMatch: 'full'
},
];
@NgModule({
imports: [
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
],
exports: [RouterModule]
})
export class AppRoutingModule { }
答案 13 :(得分:0)
从app.module.ts文件所在的位置运行组件生成命令(ng g c component-name)。
答案 14 :(得分:0)
这也发生在我身上,在我的情况下,这是由于我在app文件夹之外生成了一个新组件,我在app文件夹内购买了新组件,问题得以解决。
答案 15 :(得分:0)
我从angular.json文件中删除了行"cli": { "defaultCollection": "@nativescript/schematics" }
,它对我有用。
答案 16 :(得分:0)
有同样的问题。原来与根组件的名称有关。重命名为“应用”即可解决问题