npm 上的 Fastly CLI:现在 JavaScript 触手可及
时间:2024-12-23 12:43:03 366浏览 收藏
本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《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学习网公众号,带你了解更多关于的知识点!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
175 收藏
-
349 收藏
-
311 收藏
-
116 收藏
-
415 收藏
-
115 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习