我想在带有angular 4和angular cli的asp.net core 2.0 SPA中添加一个新组件,并使用此版本:
邮箱:
@angular/cli: 1.4.2
节点: 8.4.0
操作系统: Linux x64
当我在一个包含组件的目录上运行这个命令ng g c vehicle-form
时,得到了这个错误:
错误:找不到新组件的NgModule。使用跳过导入选项可跳过在NgModule中导入零部件。找不到新组件的NgModule。使用跳过导入选项可跳过在NgModule中导入零部件。
另外,我有3个app.module.ts
文件,而不是一个:\:
app.module.browser.ts
app.module.shared.ts
app.module.server.ts
发布于 2017-09-18 05:23:08
您在一个没有考虑到CLI的项目中使用Angular CLI,因此您必须采取一些额外的步骤。错误消息告诉您要执行的操作。
首先,运行ng g c vehicle-form
命令并包含--skip-import=true
选项。
然后,手动将组件声明添加到适当的应用程序模块文件中。在本例中,是app.module.shared.ts
,其中声明了所有其他应用程序组件。
或者,您可以运行ng g c vehicle-form
并包含--module='app.module.shared.ts'
。您可能需要用下面的代码完全限定模块文件的路径。我还没有测试过它,所以准备好自己尝试一些东西吧。
有关ng生成组件的更多信息:generate component。
更新 (2018-03-01)
微软提供了一些新的SPA模板,用于ASP.NET Core2.0应用程序。你可以在here上找到更多关于它们的详细信息。新的Angular template包括对Angular CLI的支持。因此,如果您熟悉CLI,那么这里应该会更有家的感觉。这意味着您可以使用ng g
命令来使用这个新模板生成代码。
发布于 2018-06-13 21:45:47
在我的例子中,问题出在e2e项目中。在我将项目从angular 4移动到angular 6之后,添加了一个新的angular配置文件"angular.json“而不是"angular.conf.json”。在一个项目部分出现了两个项目:其中一个是我的"ng-app“,另一个是"ng-app-e2e”。当我尝试执行"ng g c“命令时,我发现了同样的错误。原因在"ng-app-e2e“的根部分。它的值为空。我将其设置为"e2e“。现在一切都好了!尽管在"ng-app“中设置了默认项目,但还是会发生这种情况。
"projects": {
"ng-app": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"prefix": "app",
...
},
"ng-app-e2e": {
"root": "e2e", <-- SALVATION
"sourceRoot": "e2e",
"projectType": "application",
...
}
},
"defaultProject": "ng-app"
发布于 2017-10-16 05:09:06
在ASP Angular项目的情况下,app.module被分成3个文件,正如您突出显示的那样。angular CLI必须决定在模块中的何处添加对组件的引用,因此您需要为其提供一些帮助。
ng g c moduleName --module='app.module.browser.ts‘
https://stackoverflow.com/questions/46268181
复制相似问题