分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

HtmlWebpackPlugin实现资源的自定义插入

发布时间:2023-09-06 01:36责任编辑:白小东关键词:Web

目前碰到的问题

我们用html-webpack-plugin的inject属性去自动插入打包后的js, css到页面中,但是如果想给script标签添加一个crossorigin属性呢,

例如:

<script type="text/javascript" src="/static/js/debug.f04ad197.js"></script>

想改为:

<script crossorigin="anonymous" type="text/javascript" src="/static/js/debug.f04ad197.js"></script>

或者相对css做一个内联,这些都无法通过html-webpack-plugin直接配置生成

解决问题

查看webpack的一些文档资料,发现在issue中其实也有人提到,https://github.com/jantimon/html-webpack-plugin/issues/157

是一个内联的问题,然而插件作者只提供了html-webpack-plugin的响应事件:

html-webpack-plugin-before-html-processinghtml-webpack-plugin-after-html-processinghtml-webpack-plugin-after-emit

顺着找到了这个插件:

https://github.com/lcxfs1991/blog/issues/2 

插件:html-res-webpack-plugin

通过这个插件,可以实现资源的自定义插入

https://github.com/lcxfs1991/html-res-webpack-plugin/blob/v3/README_ZH.md

最终实现

let chunks = {};chunks[‘vendor.js‘] = { ?attr: "crossorigin=\"anonymous\"" // attributes for js file in index chunk}chunks[‘index.js‘] = { ?attr: "crossorigin=\"anonymous\"" // attributes for js file in index chunk}chunks[‘index.css‘] = {}result.push( ?new HtmlResWebpackPlugin({ ???filename: path + name + ‘.njk‘, ???template: template, ???chunks: chunks ?}))

最终效果:

HtmlWebpackPlugin实现资源的自定义插入

原文地址:https://www.cnblogs.com/woodk/p/8288957.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved