目前碰到的问题

我们用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-processing
html-webpack-plugin-after-html-processing
html-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实现资源的自定义插入的更多相关文章

  1. webpack htmlWebpackPlugin 静态资源 版本控制

    plugins: [ new webpack.optimize.UglifyJsPlugin({ // 压缩webpack 后生成的代码较长时间,通常推到生产环境中才使用 compress:{ war ...

  2. spring security动态管理资源结合自定义登录页面

    如果想将动态管理资源与自定义登录页面一起使用,最简单的办法就是在数据库中将登录页面对应的权限设置为IS_AUTHENTICATED_ANONYMOUSLY. 因此在数据库中添加一条资源信息. INSE ...

  3. JVM系列六(自定义插入式注解器).

    一.概述 从前面 文章 中我们可以了解到,javac 的三个步骤中,程序员唯一能干预的就是注解处理器部分,注解处理器类似于编译器的插件,在这些插件里面,可以读取.修改.添加抽象语法树中的任意元素.因此 ...

  4. sublime text 自定义插件,自动插入署名,自定义插入日期,自动生成头部注释

    自动插入署名 菜单下面的 一.工具(tool)>新代码段(new snippet…) 看到以下代码 <snippet> <content><![CDATA[ Hel ...

  5. Sublime Text自定义插入当前时间的插件

    很奇怪为什么强大的Sublime编辑器为什么没有添加当前时间的快捷键,不过还好Sublime可以通过自定义插件的方式来实现任何你想要的效果   1. 创建插件:   Tools → New Plugi ...

  6. (13)处理静态资源(自定义资源映射)【从零开始学Spring Boot】

    上面我们介绍了Spring Boot 的默认资源映射,一般够用了,那我们如何自定义目录? 这些资源都是打包在jar包中的,然后实际应用中,我们还有很多资源是在管理系统中动态维护的,并不可能在程序包中, ...

  7. [原创]WPF资源Binding自定义集合类。

    简单介绍一下Wpf资源字典: 每个WPF界面元素都有一个名为Resource的属性,这个属性继承至FrameworkElement类,其类型为ResourceDictionary.ResourceDi ...

  8. 自定义word快捷键,设置插入图片快捷键

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 自定义word快捷键,设置插入图片快捷键 文件→选项→自定义功能区 选择键盘快捷方式 自 ...

  9. html-webpack-plugin插件的详细介绍和使用

    var webpack = require('webpack'); var HtmlWebpackPlugin = require('html-webpack-plugin'); module.exp ...

随机推荐

  1. Android Root原理初探

    Root Linux:Root == Windows:Adminstrator Android是Linux系统吗? 操作系统 = 系统内核 + 文件系统 Linux发行版:Linux内核 + 文件系统 ...

  2. 深入理解JSP

    JSP(Java server page)是Java EE规范最基本成员,他是Java Web开发的重点知识,尽管我们一直在用.但其原理知之甚少.今天重点研究一些JSP核心内容以及其工作原理. JSP ...

  3. java中md5加密方法

    package com.func; import java.io.UnsupportedEncodingException;import java.math.BigInteger;import jav ...

  4. Linux useradd

    在 linux 中,如果我们想添加一个用户,那么使用的命令如下: useradd  [ 用户名 ] 实例如下: 那么添加密码如下: passwd   [ 用户名 ] 实例如下: 然后输入密码,学过一点 ...

  5. 浅谈Android数据库DBFlow

    一.项目配置 1.根目录下的build.gradle 中添加 maven { url "https://www.jitpack.io" } 如下: classpath 'com.n ...

  6. 《程序员面试金典(第5版)》【PDF】下载

    <程序员面试金典(第5版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382252 内容简介 本书作者Gayle Laakma ...

  7. JSON Schema 校验实例

    JSON Schema 简介 JSON Schema is a vocabulary that allows you to annotate and validate JSON documents. ...

  8. mysql 证明为什么用limit时,offset很大会影响性能

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/117 首先说明一下MySQL的版本: mysql> sel ...

  9. bzoj 3712: [PA2014]Fiolki

    Description 化学家吉丽想要配置一种神奇的药水来拯救世界.吉丽有n种不同的液体物质,和n个药瓶(均从1到n编号).初始时,第i个瓶内装着g[i]克的第i种物质.吉丽需要执行一定的步骤来配置药 ...

  10. StreamCQL编写jstorm拓扑任务入门

    一,什么是 StreamCQL StreamCQL(Stream Continuous Query Language)是一个类似SQL的声明式语言, 目的是在流计算平台(目前也就是jstrom)的基础 ...