Module build failed: TypeError [ERR_INVALID_ARG_TYPE]: The “from” argument must be of type string. Received undefined
在使用 url-loader 时 limit 的限制过小导致,我们需要安装 file-loader 并且调低url-loader和file-loader的版本
在packge.json中修改成下面的版本后(我自己随便找的低版本)执行 npm install
"url-loader": "^1.1.1",
"file-loader": "^1.1.1",
在options中设置name属性之后,如果图片的大小大于预设值,则直接拷贝到dist文件夹中,否则转成base64编码。
{
// DOS只允许后缀名为三个htm,jpg == html,jpeg
test: /\.(png|jpg|gif|jpeg)$/,
use: [{
loader: 'url-loader',
options: {
// 当加载的图片,小于limit时,会将图片编译成base64字符串形式。
// 当加载的图片,大于limit时,需要使用file-loader模块进行加载。
limit: 13000,
// 给name加上[]是还原图片原本的名字,不加就都叫name.jpg
// extension
name: 'img/[name].[hash:8].[ext]',
}
}]
}