问题描述
img(src=require("../../assets/icons/icon.png"))
并尝试使用下一个 webpack 配置通过 Webpack 将其构建为 html:
module: {
rules: [
{
test: /\.pug$/i,use: {
loader: 'pug-loader',options: {
pretty: true
},},....
{
test: /\.(png|jpg|svg|jpeg|gif)$/,exclude: [
/Montserrat-Bold.svg$/,/Montserrat-Regular.svg$/,/Quicksand-Regular.svg$/,],use: [
{
loader: "file-loader",options: {
name: "[name].[ext]",outputPath: "assets/icons/",publicPath: '../assets/icons/'
}
}
]
},.....
因此它构建到
<img src="{"default":"../assets/icons/icon.png"}">
我应该怎么做才能将 img(src=require("../../assets/icons/icon.png"))
构建到 <img src="../assets/icons/icon.png">
中?
解决方法
需要将 esModule: false
添加到文件加载器选项中:
use: [
{
loader: "file-loader",options: {
name: "[name].[ext]",outputPath: "assets/icons/",publicPath: '../assets/icons/',esModule: false,}
}
]