当组件使用JavaScript而不是TypeScript [Angular]

时间:2019-04-23 05:22:32

标签: javascript angular angular-cli

给出一个模板,例如src/app/x.component.html

<em>Hello</em>

和组件src/app/x.component.ts

import {Component} from '@angular/core'
@Component({
  selector: 'x-y',
  templateUrl: './x.component.html'
})
export class XComponent {}

该组件有效:显示 Hello

现在,用纯JS编写相同的代码,即。 src/app/x.component.js

import {Component} from '@angular/core'
export class XComponent {}
XComponent.annotations = [
  new Component({
    selector: 'x-y',
    templateUrl: './x.component.html'
  })
]

将导致错误
GET /x.component.html 404 (Not Found)
Failed to load x.component.html
因此,出于某种原因,@angular/cli似乎在/中寻找模板。

但是 ,使用嵌入式模板而不是外部模板,例如:

  ...
  new Component({
    selector: 'x-y',
    template: `<em>Hello</em>`
  })
  ...

有效!

问题:我做错了什么?如何使templateUrl也可以用于普通的JavaScript组件?

我正在使用Angular 7.2.13和Angular CLI 7.3.8

0 个答案:

没有答案