Si busco la misma pregunta en Internet, solo obtendré enlaces al sitio web de Visual Studio Code y algunos blogs que lo implementan.
Quiero saber si jsconfig.json es específico de Visual Studio Code o javascript/webpack .
¿Qué pasará si desplegamos la aplicación en AWS , Heroku , etc. ¿Tenemos que hacer cambios?
Es un archivo de configuración para ayudar al Protocolo de servidor de idioma (LSP) de su editor con el uso de JavaScript en su carpeta de proyecto.
Si bien parece que esto se originó en Visual Studio Code, cualquier editor que use LSP utilizará el archivo jsconfig.json , incluido Visual Studio Code, Sublime Text , etc.
Se usa más comúnmente para incluir/excluir carpetas en su intellisense (que hoy en día la mayoría de los editores usan LSP) y asignar alias en su código fuente a ciertas carpetas.
{ "compilerOptions": { "baseUrl": ".", "paths": { "$libs": ["src/libs"], "$libs/*": ["src/libs/*"], } }, "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"], "exclude": ["node_modules", "**/node_modules", "dist"] }Este archivo básicamente le dice al servidor de idioma que:
Usa el . ubicación como raíz del proyecto (que es donde se encuentra el archivo jsconfig.json ).
Significa que $libs en su código fuente apunta a /src/libs . Esto es útil si su editor confía en LSP para ubicar los archivos. Cuando inicie ir al archivo , irá al lugar correcto.
Significa incluir todas las carpetas y archivos que terminan con esas extensiones para brindarle búsqueda de archivos, finalización de código.
Significa excluir todo dentro de node_modules y la carpeta dist . Por ejemplo, no desea que el paquete compilado aparezca en los resultados de búsqueda cuando busca símbolos o variables.
En otras palabras, puede considerar el archivo jsconfig.json un poco como el archivo .gitignore , pero solo para uso del servidor de idioma de su editor.
Pero tenga en cuenta que, si va a usar jsconfig.json para asignar alias, deberá realizar una configuración adicional en su paquete de módulos y actualizar su configuración de eslint , es decir, si usa ESLint .
Por ejemplo, en un entorno Node.js / CommonJS , deberá decirle a su Node.js qué es $libs . Hay muchas maneras de hacerlo, pero en estos días la gente usa principalmente module-alias .
Esto es definitivamente específico de Visual Studio Code.
La presencia del archivo jsconfig.json en un directorio indica que el directorio es la raíz de un proyecto de JavaScript. El archivo jsconfig.json especifica los archivos raíz y las opciones para las funciones proporcionadas por el servicio de lenguaje JavaScript.
Consulte más detalles en jsconfig.json .
No necesita este archivo cuando lo implementa en AWS o Heroku. Básicamente, puede excluir esto de su compromiso si está utilizando un repositorio de Git, es decir, agregue jsconfig.json en su archivo .gitignore . Esto hará que su proyecto sea independiente del IDE.
Como han señalado otras respuestas, este protocolo se originó en Visual Studio Code, pero muchos marcos lo han adoptado para funcionar en tiempo de compilación:
Marcos front-end que admiten jsconfig.json y tsconfig.json :
Soporte de back-end Node.js para jsconfig.json / tsconfig.json :