Socket
Socket
Sign inDemoInstall

resource-hint-generator

Package Overview
Dependencies
4
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    resource-hint-generator

NPM package for generating prefetch, preload and other HTML resource hint


Version published
Weekly downloads
6
increased by200%
Maintainers
1
Install size
122 kB
Created
Weekly downloads
 

Readme

Source

resource-hint-generator PRs Welcome

prefetch, preconnectdns-prefetch等资源优先级提示自动化生成工具。

配套讲解文章《1.4秒到0.4秒-2行代码让JS加载耗时减少67%》:https://juejin.cn/post/7274889579076108348

Downloads Hint File Size Version LastCommit CIStatus

特性

  1. 自动遍历构建产物,生成注入脚本,运行后注入prefetch资源优先级提示link标签
  2. 指定域名,生成注入脚本,运行后注入preconnectdns-prefetch资源优先级提示link标签

演示:

在线运行DEMO:https://stackblitz.com/edit/github-ckfcpg?file=README.md,dist%2Fresource-hint.js

fe295039-983b-45a6-91b3-67d9131a8316

用法

0. 安装

npm install resource-hint-generator --save-dev

1. 配置

module.exports = {
  distPath: `./dist`,
  includeFileTestFunc: (fileName) => {
    return /(a.*js)|(b.*css)|(first.*js)/g.test(fileName);
  },
  publicPath: 'https://config.com/static/', 
  preconnectDomains: ['https://config.com'],
};

2. 运行

1. 在package.json中新增运行命令generate-resource-hint
2. 并追加运行命令到构建命令(build)后

例如:

// package.json
"scripts": {
    "generate-resource-hint": "resource-hint-generator",
    "build": "cross-env NODE_ENV=production webpack && npm run generate-resource-hint",
}

选项

配置项简介类型默认值
distPath打包产物路径,也是生成的resource-hint.js输出路径String'./dist'
includeFileTestFunc指定一个函数,返回布尔值表示,遍历distPath找到的的fileName,是否会被作为<link rel="prefetch">href属性值Function(fileName: string) => false
includeFileNames指定一个数组,数组中的字符串元素,会被作为<link rel="prefetch">href属性值String[][]
projectRootPath项目根目录路径String''
resourceHintFileName生成的注入脚本名称String'resource-hint.js'
crossOriginValue<link>标签crossorigin的属性值,默认值undefined表示无crossorigin属性String | undefinedundefined
publicPath用于和includeFileTestFuncincludeFileNames匹配到的文件名,拼接出<link rel="prefetch">标签的href属性值String''
preconnectDomains指定一个数组,数组中的每个字符串元素,都将产生2个href属性值为当前字符串的<link rel="preconnect">标签和<link rel="dns-prefetch">标签String[][]
configFileName本地配置文件名称String'resource-hint-generator-config.js'

欢迎 Issue && PR

Keywords

FAQs

Last updated on 10 Feb 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc