【发布时间】:2017-09-03 12:54:01
【问题描述】:
尝试使用命令生成新的角度组件时出错
ng g component login-form
为声明定位模块时出错。未找到模块文件。
我认为 Angular CLI 会引发错误,因为 ASP.NET Core 中的开箱即用的 Angular 模板具有不同的文件名,请建议在 ASP.NET Core 项目中生成 Angular 组件的替代方法。
【问题讨论】:
标签: angular asp.net-core-mvc-2.0
尝试使用命令生成新的角度组件时出错
ng g component login-form
为声明定位模块时出错。未找到模块文件。
我认为 Angular CLI 会引发错误,因为 ASP.NET Core 中的开箱即用的 Angular 模板具有不同的文件名,请建议在 ASP.NET Core 项目中生成 Angular 组件的替代方法。
【问题讨论】:
标签: angular asp.net-core-mvc-2.0
首先在全局安装 angular cli 之后:
npm install @angular/cli@latest -g
你必须先用这个命令在你的主项目之外创建一个 Angular 项目:
ng new hello-world
现在,转到项目目录并将.angular-cli.json 文件复制到主 dot net core 项目的根目录中。
然后你必须编辑这部分文件:
"root" : "src"改成"root" : "ClientApp"
接下来,您必须在项目的根目录中安装 angularCli dev:
cd DotNetCoreProject
npm install @angular/cli@latest --save-dev
一切都搞定了!
现在,转到您项目的组件目录:
cd ClientApp/app/components
并在终端的组件目录中制作您的组件:
ng g c MyComponent --module='app.module.browser.ts'希望对你有用...
【讨论】:
请建议生成角度分量的替代方法。
只需创建一个新文件,然后开始输入。
CLI 的g (generate) 方法是组件的简单脚手架,它会在您指定的文件夹中为您生成一些文件,并编辑一些其他文件。这不是使用 CLI 的项目的要求:您可以自己创建文件。
例如,生成一个组件会
{{component-name}}.component.ts 的文件夹中创建一个文件,其中包含一个在@Component 装饰器、OnInit 生命周期挂钩的构造函数和实现中预填充元数据的类骨架,{{component-name}}.component.css 的文件夹中创建一个空文件,或根据您在 .angular-cli.json 文件中的设置创建不同的扩展名,{{component-name}}.component.html 文件,该文件仅表明您的组件正在运行,{{component-name}}.component.spec.ts,用于测试组件的创建,以及
-- 在对应Angular模块的declarations数组中添加组件。如果您愿意,所有这些都是您可以自己完成的。例如,当我创建非常简单的组件时,我不使用 CLI 的 g 命令,因为我没有为模板和样式使用单独的文件。
顺便说一句,您使用 ASP 作为后端这一事实不应影响您管理前端应用程序的方式。 Angular 是一个用于构建单页应用程序的框架,这意味着您的后端是一个独立于 Angular 应用程序的 API,后者仅用作客户端。
至于为什么您会收到错误 - 您是否尝试在不是 ng newd 的项目中执行 ng g 命令?
错误的另一个可能来源是您尝试在不是 Angular 模块的文件夹中创建它。要到达那里,只需浏览您的结构。
ng g component a/path/to/login-module/login-form
【讨论】:
您可以将您的 app.module.shared.ts 重命名为 app.module.ts,它会正常工作。
【讨论】: