README
携程 ARES-CDN
ares-cdn 是用来更便利地发布静态资源到 ares cdn 的工具。
用法
第一步:安装 ares-cdn 到 package.json
npm install --save-dev ares-cdn
.ares.json
配置文件
第二步:在 git 仓库的根目录下新建 group
为群组名称,举例:度假的群组名称为 vacation。可以用 post 请求 http://app.ares.fx.ctripcorp.com/service/groups 接口,发送参数 { "name": "" }
可以获取所有群组。
name
为你的 ares package name,无需申请,只要添加一个不冲突的新名字即可。
version
为版本号。注意:如果 .ares.json
版本号不存在,ares-cdn 将会以 .ares.json
同级目录下的 package.json
的 version
字段作为版本号。推荐用 package.json 统一管理版本号。
files
为数组,第一项为静态资源所在目录的相对地址。
manifest
和 ignore
通常不用处理,使用下列默认值即可。
{
"group": "vacation",
"name": "test-ares-cdn-02",
"version": "1.0.1",
"manifest": "1.0",
"files": ["./dist"],
"ignore": ""
}
第三步:添加 scripts 任务
在你的 package.json
的 scripts
添加脚本任务 ares-cdn
。
ares-cdn build
命令,根据 .ares.json
的版本信息,构建 .ares
文件夹到 .ares.json
的 files
字段指定的静态资源文件夹。该命令里包含了用户登陆的请求,如果用户已经登陆,则跳过登陆环节。如果用户未登陆,则自动弹出网页,需要用户在浏览器里登陆携程账号。
ares-cdn login
为用户登陆命令,通常不需要使用。
ares-cdn logout
为用户退出登陆命令,通常不需要使用。
{
"scripts": {
"ares-cdn": "ares-cdn build",
"ares-cdn:login": "ares-cdn login",
"ares-cdn:logout": "ares-cdn logout"
},
}
在静态资源目录构建完毕之后,再调用 npm run ares-cdn
命令,把 ares 的版本信息构建出来,然后提交 git 仓库,去 ares portal 页面里选择 git 仓库发布静态资源即可。
第四步:获取虚拟目录和发布路径
在你的 config.js
里,引入 ares-cdn
, 获取 CDN 的虚拟目录或发布路径。
getVirtualDirectory({ targetDirectory })
是获取虚拟目录,不带域名。
getPublicPathByEnv({ targetDirectory, env, type })
是发布路径,等于虚拟目录+域名。
targetDirectory
参数为 .ares.json
文件所在的目录地址。
env
参数为 fat|uat|prod
三个环境之一,必须小写。
type
参数为 online|offline|english
,默认为 online 站点,决定拼接的域名。
const ares = require('ares-cdn')
// 获取虚拟目录
const virtualDirectory = ares.getVirtualDirectory({
targetDirectory: __dirname
})
// 根据环境,获取发布路径
const publicPath = ares.getPublicPathByEnv({
targetDirectory: __dirname,
env: 'fat',
type: 'offline'
})
console.log({ virtualDirectory, publicPath })
添加 ares owner
每个 ares package 默认的 owner 是创建者,只有 owner 有权限提交和发布 ares package,需要在 ares portal 对应的 ares package 页面里添加团队成员为 owner,团队成员才可以发布静态资源。