vue自动化部署阿里云oss打包上传

1.引入阿里云 webpack-aliyun-oss

yarn add webpack-aliyun-oss -D

2.根目录新建oss.config.js并配置如下

module.exports = {
   region: '你的oss服务器区域', 
   accessKeyId: '你的accessKeyId',   
   accessKeySecret: '你的accessKeySecret',  
   bucket: '你的bucket' 
}

3.vue.config.js中配置打包设置

const WebpackAliyunOss = require("webpack-aliyun-oss"); // 引入webpack-aliyun-oss
const Oss = require('./oss.config'); // 引入刚刚创建的oss.config.js文件
module.exports = {
  configureWebpack: (config) => {
    // 打包上传oss
    let webpackAliyunOss = [
      new WebpackAliyunOss({
        from: "./dist/**", // 上传那个文件或文件夹  可以是字符串或数组
        dist: "h5/",  // 需要上传到oss上的给定文件目录
        region: Oss.region,
        accessKeyId: Oss.accessKeyId,
        accessKeySecret: Oss.accessKeySecret,
        bucket: Oss.bucket,
        test: true,
        setOssPath: filePath => {
          let index = filePath.lastIndexOf("dist");
          let Path = filePath.substring(index + 4, filePath.length);
          return Path.replace(/\\/g, "/");
        },
        setHeaders: filePath => {
          return {
            "Cache-Control": "max-age=31536000"
          };
        }
      })
    ];
    config.plugins = [...config.plugins, ...webpackAliyunOss];
  },
};

插件配置说明

from: 上传哪些文件,支持类似gulp.src的glob方法,如'./build/**', 可以为glob字符串或者数组。
作为插件使用时:可选,默认为output.path下所有的文件。
独立使用时:必须,否则不知道从哪里取图片:)
dist: 上传到oss哪个目录下,默认为oss根目录。可作为路径前缀使用。
region: 阿里云上传区域
accessKeyId: 阿里云的授权accessKeyId
accessKeySecret: 阿里云的授权accessKeySecret
bucket: 上传到哪个bucket
timeout: oss超时设置,默认为30秒(30000)
verbose: 是否显示上传日志,默认为true
deletOrigin: 上传完成是否删除原文件,默认false
deleteEmptyDir: 如果某个目录下的文件都上传到cdn了,是否删除此目录。deleteOrigin为true时候生效。默认falsesetOssPath: 自定义上传路径的函数。接收参数为当前文件路径。不传,或者所传函数返回false则按默认路径上传。(默认为output.path下文件路径)
setHeaders: 配置headers的函数。接收参数为当前文件路径。不传,或者所传函数返回false则不设置header。
test: 测试,仅显示要上传的文件,但是不执行上传操作。
### 部署前后端项目至阿里云的最佳实践 #### 准备工作 为了顺利部署前后端项目到阿里云,需完成一系列准备活动。这包括但不限于注册并登录阿里云账号,确保账户余额充足以支持资源购买;熟悉阿里云控制台界面及其基本功能操作;开通必要的服务如ECS实例、RDS数据库等基础计算与存储资源[^1]。 #### 技术架构设计 对于采用现代Web框架构建的应用程序而言,推荐的技术栈可能涉及Vue.js作为前端视图层解决方案,搭配Spring Cloud Alibaba实现后端微服务体系结构。这种组合能够充分发挥各自优势,在保证高性能的同时简化跨域请求处理等问题[^4]。 #### 创建环境 - **前端部分** 使用Docker容器化技术打包前端应用,并将其推送到阿里云镜像仓库中保存版本信息以便后续拉取使用。也可以考虑通过CI/CD工具链自动化这一流程,提高效率减少人为错误的发生概率。 - **后端部分** 后端服务建议部署于弹性伸缩组内运行的多台ECS服务器之上形成集群模式,利用负载均衡SLB分发流量来增强系统的高可用性和容错能力。同时考虑到数据持久化的安全性需求,则应选择合适的RDS实例类型用于托管MySQL或其他关系型数据库管理系统。 #### 自动化部署方案 借助DevOps理念下的持续集成/持续交付(CI/CD)平台——云效来进行全流程管理。从源码提交触发构建任务直至最终上线发布均能在线跟踪进度状态变化情况。特别是针对初次接触此类工作的开发者来说,“一键式”简易配置选项极大地降低了学习成本和技术门槛。 #### 实际案例分析 以谷粒商城为例说明具体实施细节。该项目基于SpringCloud Alibaba+vue实现了完整的电商网站业务逻辑覆盖从前台展示页面直到后台商品库存管理等多个方面。其中涉及到的品牌管理和图片上传等功能模块正是依托了阿里云对象存储OSS所提供的API接口才得以顺利完成开发测试验证等一系列环节的工作[^2]。 ```bash # 安装依赖项 npm install # 构建生产环境下的静态文件 npm run build # 将生成的内容推送至远程Git库关联的阿里云CodePipeline管道当中去 git push origin master ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值