我正在尝试使用import
我的 html 模板,以便 webpack 能够识别它们并在我构建时包含它们。( webpack -d
)
根据这个 GitHub 问题,我应该这样做
declare module '*.html' {
const _: string;
export default _;
}
然后import template from './myTemplate.html';
应该工作。
但它并不完全奏效。
import template from './myTemplate.html';
console.log(template); // undefined
然而,这“有效”
import * as template from './myTemplate.html';
console.log(template); // <p>Hello world!</p>
很奇怪。
但是现在这不起作用
$routeProvider.when("/test", {
template: template, // ERROR! template is typeof(*.html) expected string
controller: MyController,
controllerAs: "$ctrl"
});
但是,如果我将 *.html 模块更改为
declare module '*.html' {
const _: string;
export = _; // changed this
}
我现在可以
import * as template from './myTemplate.html';
$routeProvider.when("/test", {
template: template, // Great success!
controller: MyController,
controllerAs: "$ctrl"
});
它工作,但为什么不import template from './myTemplate.html';
工作?我做错了什么,因为 GitHub 问题中的其他人似乎让它像那样工作。