webpack 打包图片时遇到的bug

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]',
                }
            }]
        }

猜你喜欢

转载自blog.csdn.net/weixin_45773503/article/details/113106322