工具配置

工具配置

AdonisJS 重度依赖 TypeScript、Prettier 和 ESLint 来保持代码的一致性、在构建时检查错误,更重要的是,带来愉悦的开发体验。

我们已将所有这些选择抽象封装到现成可用的配置预设中,这些预设被所有官方软件包以及官方启动套件所使用。

如果你想在自己的 TypeScript 编写的 Node.js 应用中使用相同的配置预设,请继续阅读本指南。

TSConfig

@adonisjs/tsconfig 软件包包含 TypeScript 项目的基础配置。我们将 TypeScript 的模块系统设置为 NodeNext,并使用 TS Node + SWC 进行即时(Just-in-Time)编译。

欢迎查看 base 配置文件application 配置文件package development 配置文件 中的选项。

你可以安装该软件包并按如下方式使用它。

npm i -D @adonisjs/tsconfig
# 同时请确保安装以下软件包
npm i -D typescript ts-node-maintained @swc/core

在创建 AdonisJS 应用时,从 tsconfig.app.json 文件继承。(启动套件已预配置好)。

{
"extends": "@adonisjs/tsconfig/tsconfig.app.json",
"compilerOptions": {
"rootDir": "./",
"outDir": "./build"
}
}

在创建 AdonisJS 生态的软件包时,从 tsconfig.package.json 文件继承。

{
"extends": "@adonisjs/tsconfig/tsconfig.package.json",
"compilerOptions": {
"rootDir": "./",
"outDir": "./build"
}
}

Prettier 配置

@adonisjs/prettier-config 软件包包含用于自动格式化源代码以保持风格一致的基础配置。欢迎查看 index.json 文件 中的配置选项。

你可以安装该软件包并按如下方式使用它。

npm i -D @adonisjs/prettier-config
# 同时请确保安装 prettier
npm i -D prettier

package.json 文件中定义以下属性。

{
"prettier": "@adonisjs/prettier-config"
}

此外,创建一个 .prettierignore 文件以忽略特定的文件和目录。

.prettierignore
build
node_modules

ESLint 配置

@adonisjs/eslint-config 软件包包含用于应用 linting 规则的基础配置。欢迎查看 base 配置文件application 配置文件package development 配置文件 中的选项。

你可以安装该软件包并按如下方式使用它。

我们的配置预设使用了 eslint-plugin-prettier,以确保 ESLint 和 Prettier 能够协同工作而互不冲突。

npm i -D @adonisjs/eslint-config
# 同时请确保安装 eslint
npm i -D eslint

在创建 AdonisJS 应用时,从 eslint-config/app 文件继承。(启动套件已预配置好)。

package.json
{
"eslintConfig": {
"extends": "@adonisjs/eslint-config/app"
}
}

在创建 AdonisJS 生态的软件包时,从 eslint-config/package 文件继承。

package.json
{
"eslintConfig": {
"extends": "@adonisjs/eslint-config/package"
}
}