Configuración de TypeScript tsconfig.json
tsconfig.json es el archivo de configuración del proyecto TypeScript, utilizado para especificar las opciones de compilación y la configuración del proyecto.
Configuración básica
El archivo tsconfig.json más básico.
Ejemplo
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"strict": true,
"outDir": "./dist"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"strict": true,
"outDir": "./dist"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}
Descripción de la configuración:
- target:Versión de JavaScript objetivo de compilación
- module:Sistema de módulos utilizado
- strict:Habilitar todas las comprobaciones estrictas de tipos
- outDir:Directorio de salida
Versión objetivo de compilación
Utilice target para especificar la versión de JavaScript a la que se compila.
Ejemplo
// tsconfig.json
{
"compilerOptions": {
// ES3, ES5, ES6/ES2015, ES2020, ESNext
"target": "ES2020"
}
}
{
"compilerOptions": {
// ES3, ES5, ES6/ES2015, ES2020, ESNext
"target": "ES2020"
}
}
Diferencias de salida entre distintos objetivos:
// target: ES5 - 使用 var var greeting = "Hello"; // target: ES2020 - 使用 let/const let greeting = "Hello";
Sistema de módulos
Configurar el esquema de modularización.
Ejemplo
{
"compilerOptions": {
"module": "commonjs",
// Opcional: none, commonjs, amd, umd, es6, es2020, esnext
}
}
"compilerOptions": {
"module": "commonjs",
// Opcional: none, commonjs, amd, umd, es6, es2020, esnext
}
}
Modo estricto
La opción strict habilita todas las comprobaciones estrictas de tipos.
Ejemplo
{
"compilerOptions": {
"strict": true,
// Equivale a habilitar todas las siguientes opciones:
// "strictNullChecks": true,
// "noImplicitAny": true,
// "strictFunctionTypes": true,
// etc.
}
}
"compilerOptions": {
"strict": true,
// Equivale a habilitar todas las siguientes opciones:
// "strictNullChecks": true,
// "noImplicitAny": true,
// "strictFunctionTypes": true,
// etc.
}
}
Recomendación:Siempre habilite strict: true, es la mejor práctica.
Alias de rutas
Configurar alias de rutas para simplificar las importaciones.
Ejemplo
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["src/*"],
"@components/*": ["src/components/*"]
}
}
}
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["src/*"],
"@components/*": ["src/components/*"]
}
}
}
Forma de uso:
import Button from "@components/Button";
import { Header } from "@/components";
Inclusión y exclusión de archivos
Controlar qué archivos se incluyen en la compilación.
Ejemplo
{
"include": ["src/**/*"],
"exclude": [
"node_modules",
"dist",
"**/*.test.ts",
"**/*.spec.ts"
]
}
"include": ["src/**/*"],
"exclude": [
"node_modules",
"dist",
"**/*.test.ts",
"**/*.spec.ts"
]
}
Resumen de opciones de compilación comunes
| Opción | Descripción |
|---|---|
| target | Versión objetivo de compilación |
| module | Sistema de módulos |
| strict | Modo estricto |
| outDir | Directorio de salida |
| rootDir | Directorio raíz del código fuente |
| esModuleInterop | Permitir interoperabilidad de módulos ES |
| skipLibCheck | Omitir verificación de bibliotecas |
| declaration | Generar archivos de declaración .d.ts |
Resumen
- tsconfig.json:Archivo de configuración del proyecto TypeScript
- compilerOptions:Configuración central de las opciones de compilación
- include/exclude:Controlar el alcance de los archivos
- Alias de rutas:Simplificar las rutas de importación
- strict: true:Habilitar siempre el modo estricto