今天在使用webpack过程中发现在一个html模板文件中通过ejs语法引用另一个html文件无效,ejs语句直接出现在了打包后的文件中。
后来发现这是因为html-webpack-plugin会于全局配置的html-loader发生冲突,造成webpack无法解析ejs语句。
如果这样定义:
module : {
loaders : [
{test : /\.html$/, loader : 'html-loader'}
]
},
plugins : [
new htmlWebpackPlugin(para)
]
就会造成这种情况。
解决的办法之一是将全局的loader去掉,改为引用html时调用loader。
如 :
require('html-loader!htmlFile.html')