我不能在asp.net核心温泉中添加带角度cli的新组件

Ash*_*ani 21 asp.net-web-api asp.net-core-mvc angular-cli angular

我想在asp.net core 2.0 SPA中添加一个新组件,角度为4,角度为cli,此版本:

@ angular/cli:1.4.2

节点:8.4.0

os:Linux x64

当我ng g c vehicle-form在组件目录上运行此命令时出现此错误:

错误:找不到新组件的NgModule.使用skip-import选项跳过导入NgModule中的组件.找不到新组件的NgModule.使用skip-import选项跳过导入NgModule中的组件.

app.module.shared.ts

另外,我有3个文件而app.module.ts不是一个:\:

app.module.browser.ts

app.module.shared.ts

app.module.server.ts

R. *_*rds 26

您在一个未使用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生成组件:生成组件.

更新(2018-03-01)

Microsoft已经提供了一些用于ASP.NET Core 2.0应用程序的新SPA模板.你可以在这里找到更多关于它们的细节.新的Angular模板包括对Angular CLI的支持.所以,如果你熟悉CLI,那么这应该感觉像家一样.这意味着您可以ng g使用此新模板生成代码.


tru*_*oda 23

在我的情况下,问题出在e2e项目中.将项目从角度4移动到角度6后,新的角度配置文件被添加为"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"  
Run Code Online (Sandbox Code Playgroud)


Sys*_*ion 5

对于ASP Net Core Angular项目,app.module在您突出显示时分为3个文件.角度CLI必须决定在模块中添加对组件的引用的位置,因此您需要为它提供一些帮助.

ng gc moduleName --module ='app.module.browser.ts'