O componente é definido assim:
import {Component} from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.less']
})
export class AppComponent {
}
Gostaria de carregar alguns componentes específicos em vez de "app.component.html" um arquivo com extensão htm "app.component.htm"
@Component({
selector: 'app-root',
templateUrl: './app.component.htm',
styleUrls: ['./app.component.less']
})
por algum motivo não funciona, diz:
ERROR in ./app.component.htm 1:0
Module parse failed: Unexpected token (1:0)
You may need an appropriate loader to handle this file type.
<p>
app component works!
</p>
「wdm」: Failed to compile.
Por favor me ajude a encontrar uma maneira de carregar um arquivo htm? Estou ciente de que existe uma maneira de inicializar com o Webpack. Gostaria de manter a compilação atual do ng-serve \ cli angular.json!
Obrigado!
angular
angular-cli
Mike
fonte
fonte
Respostas:
Atualize sua versão angular para o angular 8, isso é corrigido no angular 8.
fonte
Pode ser difícil modificar a forma como o angular carrega seus arquivos de modelo, mas você pode usar
@angular-builders/custom-webpack
combinado comraw-loader
importar seuhtm
arquivocomponent.ts
e, em vez disso, usartemplateUrl
na configuração de componentetemplate
e configurá-lo com valor importado. A solução está quase descrita nesta questão SO, com algumas alterações que também funcionam para você:Eu consegui executar essa configuração no meu local, mas não consigo fazê-la funcionar no stackblitz. Exemplo de Stackblitz não funcionando
fonte