跳转到内容

概念

@aws/nx-plugin 是一个 Nx 插件,为在 AWS 上构建和部署全栈应用程序提供工具包。它为开发者提供预配置的应用程序和基础设施即代码(IaC)模板,显著减少搭建和配置所需的时间。该插件处理 AWS 服务集成的复杂性,同时保持自定义的灵活性。

用户只需从现有的生成器列表中选择所需组件,提供配置选项,@aws/nx-plugin 就会生成必要的初始代码。该工具包包含多个生成器,可创建 API、网站、基础设施,甚至能执行更复杂的操作,例如通过 AST 转换将前端与后端集成(包括更新现有文件!),并提供类型安全的客户端。

generator

基于 Nx 构建

Nx 是一个智能构建框架,通过两大核心功能管理复杂的多语言项目:智能构建系统和代码生成器。

构建系统利用高级缓存和依赖图分析优化任务执行。它仅根据代码变更重建必要部分,显著缩短构建时间。任务可并行运行,Nx 会根据项目依赖自动确定最佳执行顺序。这使得测试、代码检查和构建等操作高度高效,尤其适用于大型代码库。

生成器作为自动化脚手架工具,创建跨项目一致的代码结构。它们可生成从独立组件到完整应用的任何内容,遵循预定义模板和模式。团队可自定义这些生成器以满足特定需求和编码标准。

这些功能使 Nx 在管理单体仓库(monorepo)和确保团队间开发实践一致性方面尤为有效,同时保持高开发速度。

生成器

本插件的所有组件均实现为生成器,可自动化重复任务并为新旧项目提供一致的脚手架。

生成器可通过 Nx CLINx Console IDE 插件调用。

generators

开放修改

所有生成的代码均为您的代码,可自由编辑。这极大简化了开发体验——若对生成的代码不满意,随时可进行修改。

最小依赖

@aws/nx-plugin 致力于保持最少的依赖数量,因此入门全局需求仅取决于调用的生成器类型。

例如,任何基于 Typescript 的生成器只需安装 Node。Python 项目则仅需 UV

单一版本策略

默认单体仓库设置对 Node 和 Python 项目采用单一版本策略

这意味着默认情况下,单体仓库内所有项目使用相同版本的依赖项,减少因包版本不匹配导致的问题。

对于 Node,根目录有单一锁文件和 node_modules 包含所有依赖。添加新依赖时,只需在根目录 package.json 中操作。

对于 Python,根目录有单一 .venv 包含所有依赖。每个 Python 项目有自己的 pyproject.toml,但依赖版本由 uv 工作区管理并写入根目录的 uv.lock 文件。

类型安全

@aws/nx-plugin 通过类型安全简化开发体验,利用 IDE 自动补全功能,同时消除仅在非类型安全实现中出现的运行时错误。因此,所有提供的组件默认均具备类型安全。

generators