文章目录
文章参考
jsconfig与 tsconfig.json 的关系?
- jsconfig.json 是 tsconfig.json 的后代,后者是 TypeScript 的配置文件
- jsconfig.json相当于tsconfig.json的“allowJs”属性设置为true。
为什么我需要一个jsconfig.json文件?
- 文件范围
- 如果没有jsconfig.json,Visual Studio Code中打开的JavaScript文件被视为独立单元
- 只要文件a.js没有显式引用文件b.ts(使用///引用指令或CommonJS模块),两个文件之间就没有共同的项目上下文
- 显式项目
- JavaScript项目是通过jsconfig.json文件定义的。
目录中存在此类文件表示该目录是JavaScript项目的根目录
。- 文件本身可以选择列出属于项目的文件,要从项目中排除的文件,以及编译器选项(见下文)。
jsconfig.json的存放位置?
前后端在同一个文件夹下
的场景
客户端 添加一个 jsconfig.json
服务器端 添加一个 jsconfig.json
属性说明
- compilerOptions
选项 | 描述 | 类型 | 默认 |
---|---|---|---|
noLib | 不包含默认库文件(lib.d.ts) | string | - |
target | 指定要使用的默认库(lib.d.ts)。 值是“es3”,“es5”,“es6”,“es2015”,“es2016”,“es2017”,“es2018”,“esnext”。 | string | - |
checkJs | 启用JavaScript文件的类型检查。 | boolean | true |
experimentalDecorators | 为拟议的ES装饰器提供实验支持。 | string | - |
allowSyntheticDefaultImports | 允许从没有默认导出的模块进行默认导入。 这不会影响代码发出,只会影响类型检查。 | boolean | true |
baseUrl | 用于解析非相对模块名称的基目录。 | string | - |
paths | 指定相对于baseUrl选项计算的路径映射。 | object | 见demo |
mobx 需要配置 “experimentalDecorators”: true
- include
为了提供正确的智能感知,您需要包含哪些文件
“include”: [“src/**/*”]
- exclude
为了提供正确的智能感知,您需要指定要排除
“exclude”: [“node_modules”]
jsconfig.json案例
{
"compilerOptions": {
"target": "es6",
"experimentalDecorators": true
},
"exclude": ["node_modules"],
"include": ["src/**/*"]
}