component.html 404 Не найдено, когда компонент находится в JavaScript, а не в TypeScript [Angular] - PullRequest
0 голосов
/ 23 апреля 2019

Учитывая шаблон, например. 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

...