当前位置: 首页 > news >正文

webpack CDN打包优化

CDN网络分发服务 请求资源时最近的服务器将缓存内容交给用户

体积较大且变动不多的文件存在CDN文件中 react react-dom资源

在这里插入图片描述

// 添加自定义对于webpack的配置const path = require('path')
const { whenProd, getPlugin, pluginByName } = require('@craco/craco')module.exports = {// webpack 配置webpack: {// 配置别名alias: {// 约定:使用 @ 表示 src 文件所在路径'@': path.resolve(__dirname, 'src')},// 配置webpack// 配置CDNconfigure: (webpackConfig) => {let cdn = {js:[]}whenProd(() => {// key: 不参与打包的包(由dependencies依赖项中的key决定)// value: cdn文件中 挂载于全局的变量名称 为了替换之前在开发环境下webpackConfig.externals = {react: 'React','react-dom': 'ReactDOM'}// 配置现成的cdn资源地址// 实际开发的时候 用公司自己花钱买的cdn服务器cdn = {js: ['https://cdnjs.cloudflare.com/ajax/libs/react/18.1.0/umd/react.production.min.js','https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.1.0/umd/react-dom.production.min.js',]}})// 通过 htmlWebpackPlugin插件 在public/index.html注入cdn资源urlconst { isFound, match } = getPlugin(webpackConfig,pluginByName('HtmlWebpackPlugin'))if (isFound) {// 找到了HtmlWebpackPlugin的插件match.userOptions.files = cdn}return webpackConfig}}
}

index.js中

<body><div id="root"></div><!-- 加载第三发包的 CDN 链接 --><% htmlWebpackPlugin.options.files.js.forEach(cdnURL => { %><script src="<%= cdnURL %>"></script><% }) %>
</body>
http://www.dtcms.com/a/217075.html

相关文章:

  • js 实现多并发任务处理
  • 8Manage PM、Trello与飞书对比评测:哪款项目管理软件更适合企业使用?
  • DAY07:Vue Router深度解析与多页面博客系统实战
  • 数据库 1.0.2
  • Cmake编译yaml-cpp并在QT中测试成功操作步骤
  • 共现矩阵的SVD降维与低维词向量计算详解
  • 【免费】【无需登录/关注】多点矩阵计算器,计算任何坐标系转换
  • Teigha应用——解析CAD文件(DWG格式)Teigha在CAD C#二次开发中的基本应用
  • 2025-05-27 Python深度学习6——神经网络模型
  • C语言_文件操作
  • Qwen2.5-VL视觉-语言模型做图片理解调研
  • Typescript学习教程,从入门到精通,TypeScript 类型声明文件详解(15)
  • 在h5端实现录音发送功能(兼容内嵌微信小程序) recorder-core
  • 了解一下C#的SortedSet
  • MicroPython 开发ESP32应用教程 之 线程介绍及实例分析
  • LockSupport与Condition解析
  • 数据库大学实验二
  • 53、用例(Use Case)详解
  • Java网络编程性能优化
  • 六大常用查找算法对比分析
  • Mybatis使用update更新值为null时不生效问题解决
  • Python+AI Agent:解锁MCP Servers的智能潜力
  • (自用)Java学习-5.16(取消收藏,批量操作,修改密码,用户更新,上传头像)
  • 相机定屏问题分析四:【cameraserver 最大request buffer超标】后置视频模式预览定屏闪退至桌面
  • 自动驾驶规划控制教程——不确定环境下的决策规划
  • 函数到底有多少细节?
  • Docker+MobaXterm+x11实现容器UI界面转发本地
  • rlemasklib 安装笔记
  • algolia使用配置教程-为SSG静态站增加algolia搜索功能
  • 投影机光源三代发展史:从高压汞灯、白光 LED 到三色光源