我的html文件具有以下webpack配置。
{
test: /^(?!.*index).*(html)$/,
use: [
{
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]',
}
},
{
loader: 'extract-loader'
}, {
loader: 'html-loader',
}
]
},
html加载器加载我导入的html文件,提取加载器读取html,文件加载器将写入到我的输出目录,同时添加一个哈希。到目前为止一切顺利。
现在在我的angularjs应用程序中,我需要像这样引用这些文件:
import './dashboard.html'
[...]
export let DashboardComponent: IComponentOptions = {
templateUrl: 'dashboard.html',
controller: CommonDashboardComponentController,
};
这行得通,但我会失去哈希的好处。
如果我这样导入html文件:
import * as template from './dashboard.html';
我可以将 template 用作tempateUrl。但是打字稿会抱怨。
当我在html-loader中使用 exportAsEs6Default 开关时,我可以像这样进行导入:
import template from './dashboard.html'
对于类型为this,的类型文件,我可以在组件中将 template 用作 templateUrl 。
但是extract-loader不能与默认导出一起使用,并在尝试解析导出默认值时抛出 SyntaxError:Unexpected token export 。
如果我仅使用html-loader并使用 template 而不是 templateUrl ,则只能使用。但是我真的很想在我的输出目录中有单独的html文件。我在这里有点迷路,不胜感激。 :-)