Webpack中有没有替换html静态资源的插件

比如html文件中有如下代码

<div>
    <!-- /dev 是开发目录 -->
    <img src="/dev/img.png">
</div>

然后经过处理后变成如下

<div>
    <!-- /static 是上线目录, a7l3k2n是图片的hash -->
    <!-- 同时把img.png从/dev目录移动到/static目录 -->
    <img src="/static/img.a7l3k2n.png">
</div>

如果直接在JavaScript中引入图片文件是可以解决的,但总觉得引入资源的时候还要专门去写一串JS代码感觉很蛋疼。

阅读 9.7k
3 个回答

自己在webpack打包时的plugins中自定义一个插件批量替换即可。如果不知道怎么做,这有例子

html-webpack-plugin 可以向页面传递变量,根据开发环境和生产环境传递不同的路径即可。

// 省略其他 webpack 配置
plugins: [
    new HtmlWebpackPlugin({
      // 省略其他插件配置项
      projectPath: 'static'
    })
]

页面:

<img src="<%=htmlWebpackPlugin.options.projectPath%>/a.jpg" alt="">

输出:

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进