介绍
本文将介绍如何使用 npm 包 mimosa-s3-deployer 来将前端应用部署至 AWS S3 上。mimosa-s3-deployer 是 Mimosa 框架的一个插件,它通过 AWS SDK 实现了将前端静态资源上传至 S3,并支持对上传的资源进行缓存和版本控制。
在学习本文之前,您需要:
- 熟悉 Mimosa 框架及其配置文件
- 拥有一份 AWS S3 的基本使用经验
提示:若您还不熟悉 Mimosa 或 AWS S3,可以先参考官方文档和相关教程。
安装
mimosa-s3-deployer
可以通过 npm 安装,使用以下命令安装最新版本:
npm install --save-dev mimosa-s3-deployer
配置
在 Mimosa 应用的配置文件中,需要添加以下配置项来启用 mimosa-s3-deployer
插件:
-- -------------------- ---- ------- -------------- - - -- --- -------- - -- --- ------------- -- --------- - --- - ------------ ----- ------ --- ----- ---------------- ----- ------ ------ ------ ------- ---- ------ ------- ------- ---- ------ -------- - - --
accessKeyId
与secretAccessKey
是您 AWS 账号的 Access Key 和 Secret Access Key,用于连接 AWS SDK。bucket
是您在 S3 上创建的应用存储桶的名称,用于上传文件和配置应用访问权限。region
是您在 S3 上创建的存储桶所在区域的名称。推荐使用us-east-1
作为默认配置。
如果您的 AWS 账号已经拥有对 S3 的访问权限,则可以直接使用以上配置项。
使用
在配置好 s3-deployer 插件后,使用以下命令部署您的前端应用至 S3:
mimosa deploy -D
其中 -D
参数将会向 S3 存储桶上传包含所有前端静态资源的 zip 文件,并将其压缩并缓存在 S3 上。
参数
mimosa-s3-deployer 还支持其他配置参数:
-- -------------------- ---- ------- -------- - --- - -- --- ------------- --------------- ------ -------- ------- ------ -- ------ -- ------ -------- -- ---- ------ ----- ----- ------- --------- ------ -------- ------------------ ------ ------ --- ------ ----------- ----- - ----- -- --- ------- ----- -- --- ------- -- -------- - -------- ----- ------------ ---- - - -
cacheControl
表示上传资源存储期间 HTTP 响应头Cache-Control
的值,用于客户端缓存管理。授权期间,HTTP 缓存可以减少与服务器的交互次数,从而提高性能。folder
表示上传的文件夹路径,相对于 S3 存储桶的根路径。如果设置为 "my/app",部署工具将在存储桶中新建 "my/app" 文件夹,然后将静态资源放入其中。gzip
表示是否对上传的静态资源开启 gzip 压缩。默认为true
。maxAge
表示上传资源的存储期,存储期结束后 S3 将会清理过期的资源。该参数会设置 HTTP 响应头Cache-Control
文件的过期时间。 如果您不需要缓存,则可以将其设置为0
。objectKeyTemplate
表示上传资源在 S3 上存储的路径模板,其中{{version}}
和{{fileName}}
分别代表版本号和文件名。tags
表示上传资源时为每个对象(文件)自动添加的标记键值对。vBucket.enabled
表示是否开启上传资源的版本控制。默认为true
。vBucket.withWebRoot
表示是否在上传资源的基础路径上附加版本号。开启后,版本控制将不仅仅是在 S3 上创建一个版本化的存储桶,而且还将创建一个包含应用的版本基础路径。
示例
在 deploer.S3
中定义以下参数,配置上传至 S3:
-- -------------------- ---- ------- -------- - --- - ------------ ----- ------ --- ----- ---------------- ----- ------ ------ ------ ------- ---- ------ ------- ------- ---- ------ --------- ------------- ---------------- ------- --------- ----- - -------- ------- -- -------- - -------- ----- ------------ ---- - - -
执行以下命令,部署前端应用至 S3:
mimosa deploy -D
上传完成后,您将会得到:
- 存储桶中包含了压缩过的前端静态资源,以及
index.html
、package.json
和mimosa-config.js
等部署工具所需文件,它们位于my/app/1/
目录下,其中 "1" 是部署工具自动生成的版本号。 - 上传完成后,存储桶中的标记
myTag
已被自动应用。
总结
本文介绍了如何使用 npm 包 mimosa-s3-deployer 将前端应用部署至 AWS S3 上。通过定义合适的配置参数,您可以自由控制上传资源的路径、版本、缓存和标记等属性。相信本文可以让您快速掌握 Mimosa 部署插件的使用方法,同时也对前端应用部署和 S3 存储技术有了更深入的了解。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f471d8e776d08041046