【发布时间】:2016-08-07 13:59:22
【问题描述】:
不知道能不能像标题所说的那样做。
例如,假设我们正在开发一个 Angular2 项目,并且我们希望避免将模板设置为外部 url 以减少 http 请求。我们仍然不想在组件中编写所有 HTML,因为它可能足够大,或者我们希望设计人员在与开发人员不同的文件中工作。
所以这是第一个解决方案:
文件template.html.ts 将文件转换为 .ts 格式如下:
export const htmlTemplate = `
<h1>My Html</h1>
`;
然后在我的组件中我可以像这样导入它:
import { Component } from 'angular2/core';
import {RouteParams, RouterLink} from 'angular2/router';
import {htmlTemplate} from './template.html';
@Component({
selector: 'home',
directives: [RouterLink],
template: htmlTemplate,
})
实际上这很有效,但是您正在失去 IDE HTML 智能,因此这对创建 HTML 模板的设计人员/开发人员来说是不利的。
我想要实现的是找到一种方法来导入 .html 文件而不是 .ts。
那么是否可以在 TypeScript 中将 .html 文件作为字符串导入?
【问题讨论】:
-
我所做的就是将
require与webpack一起使用,创建一个html文件,然后使用template: require('component.html'),它将作为字符串导入。 -
是的,这是一种方法。谢谢你的加入,我也会玩它,我会让你知道我的想法。
-
虽然不是您正在寻找的解决方案,但我使用 gulp-angular-embed-templates 在构建时将 html 模板嵌入到我的 js 类中
-
是的,这是事实,我正在寻找一种更“本土”的方式来做到这一点,如果我能这么说,这也是一个学术问题。
标签: javascript html import typescript angular