在CabloyJS中将Webpack生成的文件自动上传到阿里云OSS

背景

阿里云OSS提供了一个Webpack插件,可在Webpack打包结束后将webpack生成的文件自动上传到阿里云OSS中

下面看看在CabloyJS中如何使用该插件

新建项目,并配置MySQL连接参数

本处从略,请参见:快速开始 | CabloyJS

安装插件

npm install -D webpack-alioss-plugin

插件GitHub仓库:https://github.com/borenXue/webpack-alioss-plugin

OSS插件配置

修改项目下的build文件

{project}/build/config.js

const AliOSSPlugin = require('webpack-alioss-plugin');

const webpackPlugins = [];
webpackPlugins.push(new AliOSSPlugin({
  auth: {
    accessKeyId: '', // 在阿里 OSS 控制台获取
    accessKeySecret: '', // 在阿里 OSS 控制台获取
    region: 'oss-cn-beijing', // OSS 服务节点, 示例: oss-cn-beijing
    bucket: 'cabloy-test', // OSS 存储空间, 在阿里 OSS 控制台获取
  },
  ossBaseDir: 'auto_upload_ci',
  project: 'test001', // 项目名(用于存放文件的直接目录)
}));

// title
const title = 'test001';

// backend
const backend = {
  port: 7002,
  hostname: '127.0.0.1',
};

// front
const front = {
  build: {
    title,
    productionSourceMap: false,
    uglify: true,
    plugins: webpackPlugins,
    assetsPublicPath: 'https://cabloy-test.oss-cn-beijing.aliyuncs.com/auto_upload_ci/test001/',
  },
  dev: {
    title,
    hostname: 'localhost',
    port: 9092,
    // proxyBaseURL: 'http://localhost:7002',
  },
};

module.exports = {
  front,
  backend,
};
名称说明
front.build.plugins配置OSS插件,CabloyJS会自动合并到Webpack底层配置中
front.build.assetsPublicPath覆盖Webpack底层配置中的publicPath

OSS跨域

由于OSS中的字体资源与网站首页不在同一个域名下,存在跨域问题,因此需要在阿里 OSS 控制台配置跨域规则

比如,网站首页域名是:https://some.front.com,那么OSS跨域规则如下:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值