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

webpack静态资源上传到CDNS (阿里云 OSS,亚马逊 AWS S3,七牛云 Qiniu Cloud Kodo)webpack-plugin-cdns

webpack-plugin-cdns 是一个 Webpack 插件,用于实现将前端项目中的资源(如 JavaScript、CSS、图片等)上传到 CDN(OSS、S3、Kodo) 服务器。从而完成资源的 CDN 加速。

在开发前端项目时,我们通常会将静态资源放在本地服务器上,并在 HTML 文件中以相对路径引用它们。然而,当我们将项目部署到生产环境时,为了提高加载速度和稳定性,我们可以将这些静态资源上传到 CDN(内容分发网络)上,并在 HTML 文件中以 CDN 路径引用它们。这样一来,用户在访问网站时可以从离用户物理位置最近的 CDN 节点加载这些资源,提供更快的加载速度和更好的用户体验。

兼容

此插件兼容 webpack 3 4 5 版本。

安装

npm install webpack-plugin-cdns

引入

const WebpackPluginCdns = require('webpack-plugin-cdns')

或者

import WebpackPluginCdns from 'webpack-plugin-cdns'

使用

oss、 s3、kodo 选择其一配置即可,如果多个同时存在,优先级:oss > s3 > kodo。以下是不同 CDN 服务商对应高配置:

阿里云 oss

plugins: [..., // 其他插件new WebpackPluginCdns({from: ['./dist/**', '!*.html'], // 需要上传的文件; 详细书写规则请查看globbydist: '/directory/', // CDN 资源存放目录oss: {accessKeyId: '', // 阿里云账号的 Access Key ID,用于身份验证accessKeySecret: '', // 阿里云账号的 Access Key Secret,用于签名身份验证。bucket: '', // 阿里云 OSS 中的存储桶(Bucket)名称,用于存放上传的文件。region: '', // 存储桶所在的地域(Region),可以是阿里云的内网或外网地域。}})
]

亚马逊 s3

plugins: [..., // 其他插件new WebpackPluginCdns({from: ['./dist/**', '!*.html'], // 需要上传的文件; 详细书写规则请查看globbydist: '/directory/', // CDN 资源存放目录s3: {accessKeyId: '', // AWS(亚马逊云服务)账号的 Access Key ID,用于身份验证。secretAccessKey: '', // AWS 账号的 Secret Access Key,用于签名身份验证。Bucket: '', // S3 中的存储桶名称,用于存放上传的文件。region: '' // 存储桶所在的地域(Region),通常是一个 AWS 区域代码。}})
]

七牛云 kodo

plugins: [...,new WebpackPluginCdns({from: ['./dist/**', '!*.html'],dist: '/directory/',// 七牛云 Kodokodo: {accessKey: '',secretKey: '',bucket: ''}})
]

修改静态资源请求前缀为CDN地址

具体配置根据项目实际情况配置到静态资源访问路径即可,以下提供两种不同配置方式作为参考:

直接配置 webpack

module.exports = {output: {publicPath: '您的CDN地址'}
}

在 Vue 项目中,通过配置 vue.config.js 文件来自定义 Vue CLI 的构建配置:

module.exports = {publicPath: '您的CDN地址'
}

总结

以上就是静态资源上传到 CDN 的全部内容了,其实也没什么难点,让我们在项目中使用起来吧。

相关文章:

webpack静态资源上传到CDNS (阿里云 OSS,亚马逊 AWS S3,七牛云 Qiniu Cloud Kodo)webpack-plugin-cdns

webpack-plugin-cdns 是一个 Webpack 插件,用于实现将前端项目中的资源(如 JavaScript、CSS、图片等)上传到 CDN(OSS、S3、Kodo) 服务器。从而完成资源的 CDN 加速。 在开发前端项目时,我们通常会将静态资源放在本地服务器上&…...

python 异常

1.捕获异常 2.密码爆破 3....

stm32--独立看门狗

最近学习到独立看门狗,总结下笔记 1.看门狗的作用:防止程序异常跑飞,跑飞时,进行系统复位,从而不会导致代码瘫痪,奔溃卡死在某段程序。 2.看门狗其实是12bit递减计数器,,减到0会产…...

vue3中css使用script中定义的变量

代码 <template><div class"box">haha</div> </template><script setup lang"ts"> const boxWidth 500px </script><style lang"scss"> .box {width: v-bind(boxWidth);height: 200px;background-c…...

Ubuntu 22.04 安装配置 flatpak

Ubuntu 22.04 安装配置 Flatpak 安装 Flatpak sudo apt install flatpakFlatpak 仓库配置 官方仓库 https://flathub.org/repo/flathub上交大镜像 https://mirror.sjtu.edu.cn/flathub flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatp…...

oracle创建数据库以及用户,并导入dmp格式数据

oracle创建数据库以及用户&#xff0c;并导入dmp格式数据 安装可参考之前的文章https://blog.csdn.net/qq_43421954/article/details/132717546?spm1001.2014.3001.5501 首先创建表空间&#xff08;也就是其他数据库所谓的数据库&#xff09; 使用的是navicat,连接配置可以参…...

[deeplearning]pytorch实现softmax多分类问题预测训练

写在前面&#xff1a;俺这两天也是刚刚加入实验室&#xff0c;因为之前的学习过程中用到更多的框架是tensorflow&#xff0c;所以突然上手pytorch多少有些力不从心了。 这两个框架的主要区别在与tensorflow更偏向于工业使用&#xff0c;所以里面的很多函数和类都已经封装得很完…...

【C++初阶】动态内存管理

​&#x1f47b;内容专栏&#xff1a; C/C编程 &#x1f428;本文概括&#xff1a; C/C内存分布、C语言动态内存管理、C动态内存管理、operator new与operator delete函数、new和delete的实现原理、定位new表达式、常见面试问题等。 &#x1f43c;本文作者&#xff1a; 阿四啊 …...

Mac电脑安装Zulu Open JDK 8 使用 spring-kafka 消费不到Kafka Partition中的消息

一、现象描述 使用Mac电脑本地启动spring-kakfa消费不到Kafka的消息&#xff0c;监控消费组的消息偏移量发现存在Lag的消息&#xff0c;但是本地客户端就是拉取不到&#xff0c;通过部署到公司k8s容器上消息却能正常消费&#xff01; 本地启动的服务消费组监控 公司k8s容器服…...

CodeArts Check代码检查服务用户声音反馈集锦(2)

作者&#xff1a;gentle_zhou 原文链接&#xff1a;CodeArts Check代码检查服务用户声音反馈集锦&#xff08;2&#xff09;-云社区-华为云 CodeArts Check&#xff08;原CodeCheck&#xff09;&#xff0c;是自主研发的代码检查服务。建立在华为30年自动化源代码静态检查技术…...

红帽RHCE9.0学什么内容,新版有什么变化

【微|信|公|众|号&#xff1a;厦门微思网络】 一、红帽公司介绍 红帽是首个&#xff08;也是全球最大、全球领先&#xff09;的企业开源软件解决方案提供商&#xff0c;在过去 20 几年里&#xff0c;红帽已经成为开源社区里令人尊敬的成员&#xff0c;赞助了数百个开源项目&…...

线性代数的本质(一)——向量空间

文章目录 向量空间向量及其性质基与维数向量的坐标运算 《线性代数的本质》 - 3blue1brown 高中数学A版选修4-2 矩阵与变换 《线性代数及其应用》(第五版) 《高等代数简明教程》- 蓝以中 向量空间 In the beginning Grant created the space. And Grant said, Let there be vec…...

PP-Tracking之C++部署

文章目录 概要环境fastdeploy源码编译PP-Tracking源码编译使用参考概要 PP-Tracking是基于飞桨深度学习框架的业界首个开源实时跟踪系统。针对实际业务的难点痛点,PP-Tracking内置行人车辆跟踪、跨镜头跟踪、多类别跟踪、小目标跟踪及流量计数等能力与产业应用,同时提供可视…...

智慧公厕建设,要以技术为支撑、体验为目的、业务为驱动

#智慧公厕[话题]# #智慧公厕系统[话题]# #智慧公厕厂家[话题]# #智慧公厕驿站[话题]# 在数字化城市与智慧城市的大力推进下&#xff0c;作为社会重要的生活设施&#xff0c;智慧化的公共厕所的建设变得越来越重要。作为城市的基础部件之一&#xff0c;公厕的智慧化建设需要进行…...

通过Sealos 180秒部署一套K8S集群

通过Sealos 180秒部署一套K8S集群 一、主机准备 1.1 主机操作系统说明 序号操作系统及版本备注1CentOS7u9 1.2 主机硬件配置说明 k8s集群CPU及内存最低分别为2颗CPU、2G内存&#xff0c;硬盘建议为100G 需求CPU内存硬盘角色主机名值8C8G1024GBmasterk8s-master01值8C8G1024…...

如何获取美团的热门商品和服务

导语 美团是中国最大的生活服务平台之一&#xff0c;提供了各种各样的商品和服务&#xff0c;如美食、酒店、旅游、电影、娱乐等。如果你想了解美团的热门商品和服务&#xff0c;你可以使用爬虫技术来获取它们。本文将介绍如何使用Python和BeautifulSoup库来编写一个简单的爬虫…...

开启编程之门

自我介绍 目前已经大二了&#xff0c;计算机专业在读&#xff0c;是一个热爱编程&#xff0c;做事踏实专注的人。转眼间一年已经过去了&#xff0c;也接触编程一年了&#xff0c;但开始并没有对所学所想进行很好的总结和输出&#xff0c;这一年也有了新的很多感悟与心得&#x…...

【ES】Too many dynamic script compilations within, max: [75/5m]; 问题处理

问题原因 ElasticSearch5分钟内脚本编译的数量不能超过75个。 解决方法 PUT _cluster/settings {"persistent": {"script.max_compilations_rate": "1000/1m"} }参数可以根据自己需要定义&#xff0c;比如10分钟3000个&#xff0c;3000/10m等…...

LED智能家居灯 开关调光 台灯落地灯控制驱动 降压恒流IC AP5191

产品描述 AP5191是一款PWM工作模式,高效率、外围简单、内置功率MOS管&#xff0c;适用于4.5-150V输入的高精度降压LED恒流驱动芯片。输出最大功率150W&#xff0c;最大电流6A。AP5191可实现线性调光和PWM调光&#xff0c;线性调光脚有效电压范围0.55-2.6V.AP5191 工作频率可以…...

贪心算法的思路和典型例题

一、贪心算法的思想 贪心算法是一种求解问题时&#xff0c;总是做出在当前看来是最好的选择&#xff0c;不从整体最优上加以考虑的算法。 二.用贪心算法的解题策略 其基本思路是从问题的某一个初始解出发一步一步地进行&#xff0c;根据某个优化测度&#xff0c;每一步都要确保…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...