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

前端部署自动上传资源文件到cdn/oss 解决路由和访问慢的问题

参考文档:webpack-aliyun-oss-plugin - npm

安装依赖,这是一个预编译环境下的包

npm install webpack-aliyun-oss-plugin --save-dev

以下代码的意思是:

webpack中引入一个oss上传插件,并且给予其初始参数,插件根据publicPath提供的域名后的path,将打包的文件一个个按照上传到path对应的目录中,并且根据from的路径指示,将./dist/static下的所有文件都按路径上传

1,关键点一:/scrm/xxa/xxb 无论建立多少级,oss桶都是自动建立的,无需人手动先把这些目录建立了,例如上面的path对应oss的目录/scrm/xxa/xxb下面,./dist/static下的文件也会被上传到这个目录下,这个目录却不需要先行建立

publicPath: process.env.NODE_ENV === 'production' ? `https://static-global.uncledesk.com/${version_path}/` : '/',chainWebpack: config => {config.resolve.symlinks(true); // 修复热更新失效// 如果使用多页面打包,使用vue inspect --plugins查看html是否在结果数组中config.plugin("html").tap(args => {// 修复 Lazy loading routes Errorargs[0].chunksSortMode = "none";return args;});if (IS_PROD) {config.plugin('webpack-aliyun-oss-plugin')// 原案例中这里用了require, 我通过vue.config.js官方文档了解到,不加// 也可以,事实上不加也可以.use('webpack-aliyun-oss-plugin', [{from: ['./dist'],region: 'oss-us-west-1',ak: 'xxxx',sk: 'xxxxxxxx',bucket: 'static-oss-cdn',filter: function (asset) {return !/\.html$/.test(asset); // 不上传index.html}}]);}
}

version_path: "1_3_25" 可以通过 package.json 中的version参数,然后根据点转下划线,为何强调这一点,因为如果一开始不做好版本隔离,那么以后你想从cdn删除,就够麻烦了,所以这里特别提醒记得做版本文件夹隔离,不用的版本到时直接删掉就OK了

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Hadoop3:HDFS-通过配置黑白名单对集群进行扩缩容,并实现数据均衡(实用)
  • DOM 实例:深入理解文档对象模型
  • Android --- 运行时Fragment如何获取Activity中的数据,又如何将数据传递到Activity中呢?
  • 初识c++(命名空间,缺省参数,函数重载)
  • 安全防御实验2
  • 函数(实参以及形参)
  • 交换机的二三层原理
  • 速盾:如何加强网站的安全性
  • 【web]-f12-iphone6
  • 分手后如何走出夜晚的抑郁,告别失眠困扰?
  • 短视频SEO矩阵系统:源码开发与部署全攻略
  • keepalive检测VIP地址漂移主备切换
  • JAVA-----String类补充
  • 使用Spring Boot实现分布式锁
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • $translatePartialLoader加载失败及解决方式
  • Android优雅地处理按钮重复点击
  • Consul Config 使用Git做版本控制的实现
  • go语言学习初探(一)
  • JavaScript 一些 DOM 的知识点
  • JDK9: 集成 Jshell 和 Maven 项目.
  • MQ框架的比较
  • PermissionScope Swift4 兼容问题
  • quasar-framework cnodejs社区
  • session共享问题解决方案
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 聊聊flink的TableFactory
  • 深入浅出Node.js
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 算法-插入排序
  • 微信小程序--------语音识别(前端自己也能玩)
  • 再次简单明了总结flex布局,一看就懂...
  • 组复制官方翻译九、Group Replication Technical Details
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • #微信小程序:微信小程序常见的配置传值
  • $GOPATH/go.mod exists but should not goland
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (八)Flask之app.route装饰器函数的参数
  • (备份) esp32 GPIO
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (十八)三元表达式和列表解析
  • (五)关系数据库标准语言SQL
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)h264中avc和flv数据的解析
  • (转)ORM
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .Net mvc总结
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .net refrector