I wonder if it is possible to do as the title said.
For example let's say we are working on a Angular2 project and we want to avoid set the template as an external url in order to have less http requests. Still we don't want to write all the HTML within the component because maybe it's big enough or we want designers to work in different files than devs.
So here is a first solution:
File template.html.ts
Transform a file to .ts to something like this:
export const htmlTemplate = `
<h1>My Html</h1>
`;
Then in my component I can import it like this:
import { Component } from 'angular2/core';
import {RouteParams, RouterLink} from 'angular2/router';
import {htmlTemplate} from './template.html';
@Component({
selector: 'home',
directives: [RouterLink],
template: htmlTemplate,
})
Actually this works perfectly but you are loosing the IDE HTML intelligence so this is bad for the designer/dev that creates the HTML templates.
What I'm trying to achieve is to find a way to import .html files and not .ts.
So is it possible to import an .html file as a string in TypeScript?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…