主页
您可以购买本书的离线版本(HTML、PDF、EPUB、MOBI),并支持免费在线版本。
(广告,请勿屏蔽。)
使用 Node.js 进行 Shell 脚本编程
目录
一、关于本书
1 关于本书
1.1 我为什么要读这本书?
1.2 阅读本书需要哪些知识?
1.3 购买和预览本书
1.4 关于作者
1.5 致谢
2 说明
2.1 如何阅读本书
2.2 本书中如何使用断言
二、基础
3 Node.js 入门
3.1 获取 Node.js 帮助
3.2 安装 Node.js 和 npm
3.3 运行 Node.js 代码
4 Node.js 概述:架构、API、事件循环、并发
4.1 Node.js 平台
4.2 Node.js 事件循环
4.3 libuv:为 Node.js 处理异步 I/O(以及更多)的跨平台库
4.4 使用用户代码跳出主线程
4.5 本章参考资料
5 包:JavaScript 的软件分发单元
5.1 什么是包?
5.2 包的文件系统布局
5.3 打包和安装包
5.4 通过“说明符”引用模块
5.5 Node.js 中的模块说明符
6 npm 概述(JavaScript 的包管理器)
6.1 npm 包管理器
6.2 获取 npm 帮助
6.3 常用 npm 命令
6.4 npm 命令的缩写
三、核心 Node.js 功能
7 在 Node.js 上使用文件系统路径和文件 URL
7.1 Node.js 上与路径相关的功能
7.2 基本路径概念及其 API 支持
7.3 通过模块“node:os”获取标准目录的路径
7.4 连接路径
7.5 确保路径已规范化、完全限定或相对
7.6 解析路径:提取路径的各个部分(文件名扩展名等)
7.7 对路径进行分类
7.8
path.format()
:从部分创建路径
7.9 在不同平台上使用相同的路径
7.10 使用库通过“glob”匹配路径
7.11 使用“file:”URL 引用文件
8 在 Node.js 上使用文件系统
8.1 Node 文件系统 API 的概念、模式和约定
8.2 读取和写入文件
8.3 处理跨平台的行终止符
8.4 遍历和创建目录
8.5 复制、重命名、移动文件或目录
8.6 删除文件或目录
8.7 读取和更改文件系统条目
8.8 使用链接
8.9 进一步阅读
9 原生 Node.js 流
9.1 回顾:异步迭代和异步生成器
9.2 流
9.3 可读流
9.4 通过异步生成器转换可读流
9.5 可写流
9.6 快速参考:与流相关的功能
9.7 本章的进一步阅读和参考资料
10 在 Node.js 上使用 Web 流
10.1 什么是 Web 流?
10.2 从 ReadableStreams 读取
10.3 通过包装将数据源转换为 ReadableStreams
10.4 写入 WritableStreams
10.5 通过包装将数据接收器转换为 WritableStreams
10.6 使用 TransformStreams
10.7 实现自定义 TransformStreams
10.8 深入了解背压
10.9 字节流
10.10 特定于 Node.js 的助手
10.11 进一步阅读
11 流配方
11.1 写入标准输出 (stdout)
11.2 写入标准错误 (stderr)
11.3 从标准输入读取 (stdin)
11.4 Node.js 流配方
11.5 Web 流配方
12 在子进程中运行 shell 命令
12.1 本章概述
12.2 异步生成进程:
spawn()
12.3 同步生成进程:
spawnSync()
12.4 基于
spawn()
的异步辅助函数
12.5 基于
spawnAsync()
的同步辅助函数
12.6 有用的库
12.7 在模块“node:child_process”的函数之间进行选择
四、使用包
13 安装 npm 包和运行 bin 脚本
13.1 全局安装 npm 注册表包
13.2 在本地安装 npm 注册表包
13.3 安装未发布的包
13.4
npx
:在 npm 包中运行 bin 脚本而不安装它们
14 创建跨平台 shell 脚本
14.1 必备知识
14.2 Node.js ESM 模块作为 Unix 上的独立 shell 脚本
14.3 使用 shell 脚本创建 npm 包
14.4 npm 如何安装 shell 脚本
14.5 将示例包发布到 npm 注册表
14.6 在 Unix 上使用任意扩展名的独立 Node.js shell 脚本
14.7 Windows 上的独立 Node.js shell 脚本
14.8 为 Linux、macOS 和 Windows 创建原生二进制文件
14.9 Shell 路径:确保 shell 找到脚本
15 通过 npm 包脚本运行跨平台任务
15.1 npm 包脚本
15.2 包脚本的种类
15.3 运行包脚本的 shell 环境
15.4 在包脚本中使用环境变量
15.5 包脚本的参数
15.6 npm 日志级别(产生多少输出)
15.7 跨平台 shell 脚本
15.8 用于常见操作的辅助包
15.9 扩展包脚本的功能
15.10 本章参考资料
五、处理脚本中的常见任务
16 使用
util.parseArgs()
解析命令行参数
16.1 本章隐含的导入
16.2 处理命令行参数所涉及的步骤
16.3 解析命令行参数
16.4
parseArgs
标记
17 Shell 脚本配方
17.1 通过 nodemon 交互式编辑代码片段
17.2 检测当前模块是否为“main”(应用程序入口点)
17.3 访问相对于当前模块的文件
18 跨平台注意事项
18.1 文件系统路径
18.2 处理行终止符
18.3 检测当前平台
18.4 在所有平台上运行与项目相关的任务