jsconfig.json

目录中存在jsconfig.json文件表示该目录是JavaScript项目的根目录。

jsconfig.json文件指定根文件和JavaScript语言服务提供的功能选项。

  • 如果不使用JavaScript,就不需要配置jsconfig.json。
  • tsconfig.json 配置高于 jsconfig.json,它是TypeScript的配置文件。配置了tsconfig.json的情况下 allowJs:true jsconfig.json 才生效。

为何需要jsconfig.json文件?

  • Visual Studio Code的JavaScript支持可以在两种不同的模式下运行:
    • 文件范围 - 没有jsconfig.json:在此模式下,在Visual Studio Code中打开的JavaScript文件被视为独立单元。 只要文件a.js没有显式引用文件b.ts(使用///引用指令或CommonJS模块),两个文件之间就没有共同的项目上下文。
    • 显式项目 - 使用jsconfig.json:JavaScript项目是通过jsconfig.json文件定义的。 目录中存在此类文件表示该目录是JavaScript项目的根目录。 文件本身可以选择列出属于项目的文件,要从项目中排除的文件,以及编译器选项(见下文)。

在工作空间中有一个定义项目上下文的jsconfig.json文件时,JavaScript体验会得到改进。

exclude 属性

  • exclude属性(glob模式)告诉语言服务哪些文件是什么文件,而不是源代码的一部分。
"exclude": ["node_modules", ".nuxt", "dist"],
  • 排除由构建过程生成的文件(例如,node_modules目录,.nuxt目录,dist目录)。

include 属性

  • 使用include属性(glob模式)显式设置项目中的文件。
  • 如果不存在include属性,则默认为包含目录和子目录中的所有文件。
  • 如果指定了include属性,则只包括这些文件。
"include": [
    "src/**/*"
]

jsconfig选项

  • compilerOptions: 此属性的存在是因为jsconfig.json是tsconfig.json的后代,后者用于编译TypeScript。
  • target:指定要使用的默认库(lib.d.ts)。 值是“es3”,“es5”,“es6”,“es2015”,“es2016”,“es2017”,“es2018”,“esnext”。
  • allowSyntheticDefaultImports:允许从没有默认导出的模块进行默认导入。不会影响代码发出,只会影响类型检查。
  • baseUrl:解析非相对模块名称的基目录。
  • paths:指定相对于baseUrl选项计算的路径映射。

提示

  • 如果工作空间中没有jsconfig.json,则默认情况下,VS Code将排除node_modules文件夹。

参考

猜你喜欢

转载自blog.csdn.net/A_bad_horse/article/details/113748693