Fastly CLI 是 Fastly 提供的推荐工具,用于从命令行与 Fastly API 进行交互。它是开发人员在持续集成管道中使用的开源工具,用于代表 Fastly 帐户执行各种操作,包括创建服务、管理后端和域以及部署计算包。如果您正在 JavaScript 中使用 Fastly Compute,我们有一个令人兴奋的消息,让 Fastly CLI 离您更近了 – Fastly CLI 现已作为 npm 上的软件包提供。
自从我们宣布 Fastly Compute 边缘平台支持 JavaScript 以来,已经过去了令人兴奋的三年,距离我们发布 JavaScript SDK v1.0 也快两年了。它是平台上非常流行的语言,也恰好是我个人最喜欢的。使用 JavaScript 进行快速计算开发能够以快速而有趣的方式创建边缘应用程序,我们希望将对其的访问权限扩展到尽可能多的用户。
作为一家以开发人员为先的公司,我们始终牢记一件事:尽可能消除实际开发中的障碍。也就是说,如何让开发者能够少一次点击、少一次依赖、少安装一个工具来完成工作?有没有办法让 Compute 上的 JavaScript 开发变得更简单?这就是我们这次要解决的问题。
Fastly CLI 是一个开源工具,用于使用您的 Fastly 帐户执行操作。由于它用于运行和发布计算应用程序,因此它是在 JavaScript 中开发快速计算的要求之一,即使只是在本地尝试。传统上,这意味着访问 GitHub 存储库来获取预构建的包,或者通过 macOS 上的 Homebrew 安装它。虽然这些步骤通常是开发人员所熟悉的,但我们希望尽可能降低您涉足计算应用程序开发的障碍。
这就是为什么从版本 10.14.0 开始,我们决定在 npmjs.org 上发布 Fastly CLI 作为额外的分发途径。如果您是 2024 年的 JavaScript 开发人员,您很可能熟悉 npmjs.org 作为事实上的软件包存储库,您可以从这里将软件包安装到应用程序中,无论您使用yarn、pnpm 还是值得信赖的旧 npm 作为界面。这意味着默认情况下每个人都可以使用 npmjs.org,这使得它成为我们将这个重要工具交到用户手中的好方法。
npm 的一个方便功能是 npx,它允许您从 npm 包运行命令,而无需将它们安装到项目中。只要 Node.js 和 npm 在您的环境中可用,您现在就可以直接调用 Fastly CLI,如下所示:
npx @fastly/cli
第一次执行此操作时,npm 会提示您获取包;这会将其添加到您环境的 npm 缓存中,并且它将在将来立即可用。
由于 Fastly CLI 总是使用附加参数来调用,因此您只需像平常一样指定它们作为命令后面的参数即可。例如,要列出您的 Fastly 帐户中的服务,您可以输入:
npx @fastly/cli service list
当然,npmjs.org 上的可用性意味着您现在可以将 Fastly CLI 作为标准依赖项添加到您的计算 JavaScript 应用程序中:
npm install @fastly/cli
或者,您可以将其添加到项目的 package.json 文件中:
{ "dependencies": { "@fastly/cli": "^10.14.0" } }
然后安装项目的依赖项:
npm install
这会将 @fastly/cli 作为依赖项安装到项目的 node_modules 目录中。它可以作为在 node_modules/.bin 子目录下快速调用的程序使用,因此您将能够像这样调用它:
npx fastly
例如,要在本地开发环境中启动您的应用程序,请键入以下内容:
npx fastly compute serve
此外,package.json 文件的脚本部分中对 fastly 的任何引用现在都将找到本地安装的 @fastly/cli 版本,而不需要在系统上全局安装 Fastly CLI。
{ "scripts": { "build": "js-compute-runtime src/index.js bin/main.wasm", "start": "fastly compute serve", "deploy": "fastly compute publish" } }
传统上,每个使用 Fastly Compute 的开发人员都需要安装全局可用的 Fastly CLI 实例来开发应用程序并将其发布到他们的 Fastly 帐户,即使是刚开始使用该平台进行实验时也是如此。通过将 Fastly CLI 作为 JavaScript 应用程序的标准依赖项,Fastly Compute 的首次用户只需克隆其应用程序存储库、正常安装其依赖项并输入 npm start 即可体验计算应用程序。事实上,我们已经更新了所有 JavaScript 和 TypeScript 入门套件以采用这种方法,以便更多用户能够体验它们,即使他们之前没有使用过 Compute 平台的经验。
团队合作也很棒。您以及使用您的应用程序的其他开发人员可以获得您的应用程序的代码,使用标准过程安装其依赖项,然后开始工作(包括电池)。
这种便利性也扩展到您的持续集成 (CI) 管道,使您的应用程序能够在其构建或测试过程中可靠地访问 Fastly CLI。
Fastly CLI 正在积极开发中,不断收到新功能和改进。
将 Fastly CLI 指定为包的标准依赖项使您能够使用语义版本控制来指定其版本。这使您的包可以安全地依赖最近添加的 CLI 功能或其行为可能已更改的功能,而不必担心使用您的应用程序的其他开发人员是否在其环境中安装了兼容版本的 CLI。
如果您正在编写要在调用 Fastly CLI 的 Node.js 下运行的代码(例如在工具或实用程序中),则此包提供了一种非常简单且可靠的方法来执行此操作。
@fastly/cli 的默认导出解析为一个字符串值,表示 Fastly CLI 可执行文件的完整路径,适合操作系统、体系结构及其安装方式。它可以直接与Node.js中的spawnSync等函数一起使用。因为可以通过这种方式实现,所以您不需要让软件包的用户在运行程序之前获取 Fastly CLI 的全局安装。
以下示例 Node.js 程序执行 fastly version 命令:
npx @fastly/cli
如果您确实需要全局安装 Fastly CLI,此软件包也可以作为获取它以供全局使用的一种方法:
npx @fastly/cli service list
安装后,像传统方式一样调用它:
{ "dependencies": { "@fastly/cli": "^10.14.0" } }
在底层,这与使用 npx @fastly/cli 调用环境中缓存的 CLI 副本没有什么不同。但是,此过程使命令在系统路径上尽快可用,使其能够与希望在那里找到它的其他工具配合。最终结果实际上与您使用任何传统的全局安装方法相同,但此安装过程是一个方便的替代方案,因为 npm 在许多计算机上广泛可用。
在 Fastly,我们努力提供工具,让您能够在边缘运行更多代码,并使用您熟悉和喜爱的工具进行开发。我们不希望任何事情妨碍这一点。由于 JavaScript 是地球上最流行的语言,npm 上 Fastly CLI 的发布进一步推动了这一使命。
我们很高兴听到我们的用户充分利用这些工具。获取免费的 Fastly 开发者帐户,加入我们的 Fastly 社区论坛,并让我们知道您一直在构建什么!
以上是npm 上的 Fastly CLI:现在 JavaScript 触手可及的详细内容。更多信息请关注PHP中文网其他相关文章!