在 Angular 5 中生成新组件时缺少外部模板文件的原因是啥?

Posted

技术标签:

【中文标题】在 Angular 5 中生成新组件时缺少外部模板文件的原因是啥?【英文标题】:What is the reason for missing external template files while generating a new component in Angular 5?在 Angular 5 中生成新组件时缺少外部模板文件的原因是什么? 【发布时间】:2018-07-26 05:58:23 【问题描述】:

我目前正在开发一个基于 metronic 管理模板的 Angular 5 项目。

我使用“ng generate component”命令生成了一个组件,但是它只生成了component.ts文件。没有模板文件。是什么原因?

用于生成组件的语法

ng 生成组件用户

这是我的 component.ts 文件

import  Component, OnInit  from '@angular/core';
@Component(
  selector: 'app-users',
  template: `
    <p>
      users works!
    </p>
  `,
  styles: []
)
export class UsersComponent implements OnInit 

  constructor()  

  ngOnInit() 
  

如果我新建一个Angular项目并生成一个组件,模板文件也在生成。但是对于当前项目,只有component.ts文件正在生成。

我的本​​地 angular-cli 版本是 1.6.6,全局版本是 1.6.8。

【问题讨论】:

检查 .angular-cli.json 中的根目录。 @NiralMunjariya 根是 src.. 你能添加你用来生成组件的确切语法吗? @NiralMunjariya 嗨,我用语法更新了问题。请检查一下。 你的组件类中的 templateUrl 是什么?也许它已经生成了内联模板。 【参考方案1】:

您已在 .angular-cli.json 文件中将模板生成中的默认值定义为内联。

将以下内容改为false:

"defaults": 
    "inlineTemplate": false
   

请参阅下文了解更多信息

https://github.com/angular/angular-cli/wiki/angular-cli

【讨论】:

在最新版本的 Angular 中,这个填充物是在 angular.json 的名称中

以上是关于在 Angular 5 中生成新组件时缺少外部模板文件的原因是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Excel 在动态目录路径中生成新工作簿

在带有 Webpack 和 Typescript 的 AngularJS 1.5 组件中使用外部 HTML 模板

Angular 2 - 使用 ComponentResolver 加载在运行时下载的组件

在 Angular2 组件上使用 mixin 时缺少属性

Angular 5 - 动态组件模板加载

在angular 5组件中调用外部js文件的函数