【问题标题】:Error locating module for declaration in ASP.NET Core angular在 ASP.NET Core 角度中为声明定位模块时出错
【发布时间】: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


    【解决方案1】:

    首先在全局安装 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' 希望对你有用...

    【讨论】:

      【解决方案2】:

      请建议生成角度分量的替代方法。

      只需创建一个新文件,然后开始输入。


      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
      

      【讨论】:

        【解决方案3】:

        您可以将您的 app.module.shared.ts 重命名为 app.module.ts,它会正常工作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-05-15
          • 2020-05-12
          • 1970-01-01
          • 2021-11-20
          • 2023-03-19
          • 1970-01-01
          • 2013-07-01
          • 1970-01-01
          相关资源
          最近更新 更多