微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Webpack 5.22 上 html-webpack-plugin5.1.0 和 html-loader 的碰撞

直接说正题,webpack上html-loader和html-webpack-plugin冲突

错误代码:

html-webpack-plugin插件配置
plugins: [
  // html-webpack-plugin:认会创建一个空的html文件自动引入打包输出的所有资源(JS/CSS)
  // 需要有结构的HTML文件可以加一个template
  new HtmlWebpackPlugin({
    // 复制这个./src/index.html文件,并自动引入打包输出的所有资源(JS/CSS)
    template: './src/index.ejs',
  }),
],
html-loader配置
{
  test: /\.html$/,
  // 处理html文件的img图片(负责引入img,从而能被url-loader进行处理)
  loader: 'html-loader',
},

报错信息:

报错信息

第一反应是引入图片的路径错误,排查之后发现并不是,然后想着是不是html-webpack-plugin插件或者html-loader配置错误,排查之后也不是,然后开始再CSDN上搜索,然后找到了两个大佬的博客关于webpack中html-loader和html-webpack-plugin的使用冲突问题解决,以及Webpack5 踩坑之(html-webpack-plugin),特别是第二个大佬,把所有问题都剖析清楚了,最后跟着第二个大佬,到Github上找到了最终官方的解决方案,如下:

在这里插入图片描述

简单来说就是把

    new HtmlWebpackPlugin({
      // 复制这个./src/index.html文件,并自动引入打包输出的所有资源(JS/CSS)
      template: './src/index.html',
    }),

中的template: './src/index.html',改为template: './src/index.ejs',并将当初的src\index.html改为src\index.ejs

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐