@blinkk/fileset

中文文档
0.10.0发布于 2024/01/09MIT近 30 天下载 2093

[!][NPM版本][npm-image] [npm-url] [! [GitHub Actions][github-image]][github-url] [!][依赖状态][david-image]][david-url] [!][知道脆弱 [snyk-image]][snyk-url] [![codecov][codecov-image]][codecov-url] [!][TypeScript样式指南][gts-imag]

中文使用文档
文档目录16 节
  1. 概念
  2. 目录
  3. 使用量
  4. 服务器设置
  5. 上传文件
  6. 上传认证
  7. 本地测试( 使用用户账户进行认证)
  8. 持续部署(使用服务账户进行认证)
  9. 环境
  10. 测试
  11. 答复信头
  12. 查询参数
  13. 提示
  14. Makefile内使用
  15. 用阿玛加基
  16. 用到 grow.dev 时

文件集

NPM Version GitHub Actions Dependency Status Known Vulnerabilities codecov TypeScript Style Guide

文件集是一个轻而易举的高性能 TypeScript 静态网络服务器,用于 高流量静态网站。 特征包括:

  • 原子部署
  • (将执行) 计划部署
  • 重定向
  • 本地化 -- -- 认识方向调整
  • 以谷歌账户认证为后盾的孤立的每个分支集成环境
  • 超快TTFB和有效载荷传输速度
  • 用于检查上传文件的简单网络用户界面

服务器运行于Google App Engine上并代理请求到Google Cloud存储.

概念

许多网站可以作为完全静态的内容(即仅是HTML, CSS,和JavaScript – 没有动态后端). 尽管是静态的内容, 网站可能还有其他要求,如本地化、重定向或 原子部署,最终将微小的动态功能添加到一个 否则完全静止的项目.

文件集旨在通过在Google上提供一薄的中层来弥补差距 云存储:静态文件通过CLI上传到Google Cloud存储, 与文件集服务器处理请求流量。 服务器是否决定 发布带有上述动态特征之一的响应 利用Google的功能 全球业绩网络.

目录

使用量

使用文件集需要两项主要任务:

  1. 首先 你得部署服务器 这只需要做一次, 当项目最初设置时.
  2. 第二,你需要上传文件 供服务。 每个文件必须上传 您想要服务新文件、 更新重定向等的时间 .

服务器设置

  1. 在您的项目中, 创建一个目录来容纳服务器配置, 例如 . ./backend/server。 。 。 .

  2. 复制文件从 ./例/服务器/ 输入此目录.

  3. 修改设置 app.yaml 财务报告和审定财务报表 secrets.yaml。 。 。 .

  4. 使用所提供的设置和部署应用程序 创建文件。该应用程序将被部署在一个 App 命名为引擎服务 fileset,所以不会与您的当前冲突 部署.

make project=<AppId> setup
make project=<AppId> deploy

上传文件

  1. 创建一个 fileset.yaml 配置文件 . 最低限度的例子如下。 见 页:1 示例文件et.yaml 用于完整配置 选项.
google_cloud_project: <AppId>
  1. 生成您的文件 . 使用静态站点生成器或只手工创建包含文件的目录 上传。 在下面的第(3)步中,目录中的文件 ./build 为: 上传.

  2. 上传文件 . 上传者将寻找 fileset.yaml 内部 首先指定目录。 如果找不到,它会在父母那里抬头看 文件夹。 如果两个文件夹中都没有配置文件, 上传者会 中止 .

npx fileset upload ./build

就这样! 文件已上传到 Google Cloud 存储并上传 目录现在由应用程序服务器服务 。 您可以通过 访问:

https://fileset-dot-<AppId>.appspot.com

上传认证

需要认证才能上传文件 并部署服务清单.

本地测试( 使用用户账户进行认证)

如果您正在本地测试, 您的用户账户可用于认证到 云数据库与云存储. 只需运行以下命令即可创建 用于认证的证书 :

gcloud auth application-default login

持续部署(使用服务账户进行认证)

如果你使用一个服务账户来部署, 你需要确保它有 正确的权限。 使用 Google Cloud 构建的文件集时, 只需运行 make setup 从 example/server 配置您的工程的目录 Cloud Build Service 账户,有正确的权限 .

需要下列权限:

  • 云数据库(这里存储的有: 云数据库所有者) (单位:千美元)datastore.owner(中文(简体) )
  • 云存储( 文件在此上传): 存储对象管理 (单位:千美元)storage.objectAdmin(中文(简体) )

如果使用 Cloud 构建服务账户(或任何其他服务账户),您将会 需要将上述两个权限添加到账户中。 可以通过 IAM 页面(https://console.cloud.google.com/access/iam?project=<AppId>或通过 页:1 gcloud CLI(英语:CLI).

提供的情况 创建文件 还设置了谷歌云 为您建立权限 .

make project=<AppId> setup

环境

Fileset 使用 Git 分支来确定文件是否应该在生产中 (和公开)或在中转(并通过Google账户认证加以限制). 吉特分行是在检查当地吉特环境时确定的 upload 命令被引用.

了解这种做法的最佳方式是采用以下例子:

# main branch
# ✓ public
# ✓ production URL
# ✓ also available from staging URLs (restricted)

(main) $ npx fileset upload build
...
Public URL:            https://appid.appspot.com
URL (via commit):      https://f3a9abb-dot-fileset-dot-appid.appspot.com
URL (via branch name): https://master-dot-fileset-dot-appid.appspot.com
# staging branch
# ✓ not public
# ✓ staging URL only (restricted)

(staging) $ npx fileset upload build
...
URL (via commit):      https://4fb48ce-dot-fileset-dot-appid.appspot.com
URL (via branch name): https://staging-dot-fileset-dot-appid.appspot.com

测试

答复信头

您可以通过查找以下标题来验证 Fileset 服务器正常工作 :

页眉说明
x‑fileset‑site服务地点。 通常这样 default 但是,对于多地点设施来说,这将有利于确定哪些地点正在使用.
x‑fileset‑ref吉特承诺的sha符合 正在处理您请求的原始清单.
x‑fileset‑blob服务文件对应的 blob 目录密钥 。 这是文件内容的SHA-1散列.
x‑fileset‑ttl对于预定的部署,本标题的值将对应所服务定时部署的时间戳.

查询参数

您可以使用查询参数模拟地理定位行为 :

参数名称说明
hl语言覆盖来信 accept-language 头曰.
gl地理位置覆盖来信 x-appengine-country 头曰.
ncr没有国家重新定向禁用本地化- 意识重定向 .

提示

Makefile内使用

通往 fileset 可以指定可执行文件以引用 CLI .

./node_modules/.bin/fileset upload build

用阿玛加基

第一,把场地建到 ./build 目录。 然后,上传目录到 Fileset.

npx @blinkk/amagaki build
npx @blinkk/fileset upload build

用到 grow.dev 时

第一,把场地建到 ./build 目录。 然后,上传目录到 Fileset.

grow build --deployment=prod
npx @blinkk/fileset upload build

版本与发布记录

@blinkk/fileset 共发布 80 个版本,首次发布于 2020/12/27;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.10.0latest2024/01/092 年前
0.9.12023/09/143 年前
0.9.02023/08/273 年前
0.8.02022/11/183 年前
0.7.42022/11/034 年前
0.7.32022/11/034 年前

关于 @blinkk/fileset 的常见问题

@blinkk/fileset 是什么?

[!][NPM版本][npm-image] [npm-url] [! [GitHub Actions][github-image]][github-url] [!][依赖状态][david-image]][david-url] [!][知道脆弱 [snyk-image]][snyk-url] [![codecov][codecov-image]][codecov-url] [!][TypeScript样式指南][gts-imag]

如何安装 @blinkk/fileset?

在项目目录运行 npm install @blinkk/fileset,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 fileset,可以用 npx fileset 直接运行。

@blinkk/fileset 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/blinkk__fileset 是否存在。

@blinkk/fileset 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=10.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@blinkk/fileset 可以商用吗?

@blinkk/fileset 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@blinkk/fileset 的下载量有多少?

根据 npm 官方下载统计,@blinkk/fileset 在 2026/10/09 – 2026/11/07 这 30 天内被下载 2,093 次,日均约 70 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@blinkk/fileset 还在维护吗?

最新版本 0.10.0 发布于 2024/01/09(2 年前);至今共发布 80 个版本,其中过去 12 个月发布了 0 个;首次发布于 2020/12/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。