登录
首页 >  文章 >  前端

npm 上的 Fastly CLI:现在 JavaScript 触手可及

时间:2024-12-23 12:43:03 366浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《npm 上的 Fastly CLI:现在 JavaScript 触手可及》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

npm 上的 Fastly CLI:现在 JavaScript 触手可及

Fastly CLI 是 Fastly 官方推荐的命令行工具,用于与 Fastly API 交互。它是一个开源工具,开发者常在持续集成环境中使用,执行各种操作,例如创建服务、管理后端和域名,以及部署 Compute@Edge 包。对于使用 JavaScript 开发 Fastly Compute 的开发者来说,好消息来了!Fastly CLI 现已作为 npm 包发布。


自 Fastly Compute@Edge 平台支持 JavaScript 以来,已过去三年多,距离 JavaScript SDK v1.0 发布也近两年了。JavaScript 是该平台上非常流行的语言,也是许多开发者的首选。使用 JavaScript 开发 Fastly Compute 应用,能以高效有趣的方式创建边缘应用。我们希望让更多用户都能轻松使用它。

作为一家开发者优先的公司,我们一直致力于简化开发流程。我们思考:如何才能让开发者少点击几次、减少依赖、少安装一个工具就能完成工作?如何让 JavaScript Compute 开发更便捷?这就是我们推出此项改进的原因。

Fastly CLI 是一个开源工具,用于执行 Fastly 帐户操作。由于它用于运行和发布 Compute 应用,因此它是 JavaScript Fastly Compute 开发的必要工具,即使只是本地测试。以往,需要从 GitHub 获取预构建包,或通过 Homebrew(macOS)安装。虽然这些步骤对开发者来说并不陌生,但我们希望降低 Compute 应用开发的门槛。

因此,从 10.14.0 版本开始,我们决定在 npmjs.org 上发布 Fastly CLI,作为额外的分发渠道。对于 2024 年的 JavaScript 开发者来说,npm 作为事实上的包仓库,大家都很熟悉。这意味着几乎所有开发者都能使用 npmjs.org,这使得它成为分发此重要工具的理想方式。

无需安装即可运行 Fastly CLI

npm 的一个便捷功能是 npx,它允许运行 npm 包中的命令,无需将其安装到项目中。只要系统已安装 Node.js 和 npm,即可直接调用 Fastly CLI:

npx @fastly/cli

第一次执行此命令时,npm 会提示你获取包;这会将其添加到你的环境 npm 缓存中,之后即可立即使用。

由于 Fastly CLI 总是使用附加参数调用,你只需在命令后指定参数即可。例如,列出 Fastly 帐户中的服务:

npx @fastly/cli service list

将 Fastly CLI 作为依赖项

npmjs.org 上的可用性意味着你可以将 Fastly CLI 作为标准依赖项添加到你的 JavaScript Compute 应用中:

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 文件的 scripts 部分中对 Fastly 的任何引用现在都将找到本地安装的 @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 CLI 作为 JavaScript 应用的标准依赖项,首次使用 Compute 的用户只需克隆其应用仓库、安装依赖项并输入 npm start 即可体验 Compute 应用。事实上,我们已更新所有 JavaScript 和 TypeScript 入门套件以采用此方法。

团队协作也更加便捷。你和其他开发者可以获取应用代码,使用标准流程安装依赖项,然后开始工作。

这种便利性也扩展到持续集成 (CI) 管道,使应用能够在其构建或测试过程中可靠地访问 Fastly CLI。

自信地使用 CLI 的新功能

Fastly CLI 持续更新,不断添加新功能和改进。

将 Fastly CLI 指定为包的标准依赖项,可以使用语义版本控制指定其版本。这使你的包能够安全地依赖最近添加的 CLI 功能,而无需担心其他开发者是否安装了兼容版本的 CLI。

从 Node.js 代码调用 Fastly CLI

如果你正在编写要在 Node.js 下运行并调用 Fastly CLI 的代码(例如在工具或实用程序中),此包提供了一种简单可靠的方法。

@fastly/cli 的默认导出解析为一个字符串值,表示 Fastly CLI 可执行文件的完整路径。它可以直接与 Node.js 中的 spawnsync 等函数一起使用。你无需让软件包的用户在运行程序之前全局安装 Fastly CLI。

以下示例 Node.js 程序执行 fastly version 命令:

import { spawnsync } from 'node:child_process';
import fastly from '@fastly/cli';

const result = spawnsync(fastly, [ 'version' ]);

console.log(result.stdout);

甚至全局安装 Fastly CLI

如果你确实需要全局安装 Fastly CLI,此包也可以作为一种方法:

npm install -g @fastly/cli

安装后,像传统方式一样调用它:

fastly

底层机制与使用 npx @fastly/cli 调用环境中缓存的 CLI 副本没有什么不同。但是,此过程使命令在系统路径上尽快可用。最终结果与使用任何传统的全局安装方法相同,但此安装过程更方便,因为 npm 在许多机器上广泛可用。

将边缘计算带给更多开发者

在 Fastly,我们努力提供工具,让开发者能够在边缘运行更多代码,并使用熟悉的工具进行开发。我们不希望任何事情妨碍这一点。由于 JavaScript 是最流行的语言之一,npm 上 Fastly CLI 的发布进一步推动了这一使命。

我们期待听到用户的使用反馈。获取免费的 Fastly 开发者帐户,加入我们的 Fastly 社区论坛,并分享你的成果!

到这里,我们也就讲完了《npm 上的 Fastly CLI:现在 JavaScript 触手可及》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>