代码检查
2019年1月,ts官方eslint:typescript-eslint
配置vscode eslint
{"eslint.validate": ["javascript","javascriptreact","typescript"],"typescript.tsdk": "node_modules/typescript/lib"}// 自动修复{"eslint.autoFixOnSave": true,"eslint.validate": ["javascript","javascriptreact",{"language": "typescript","autoFix": true},],"typescript.tsdk": "node_modules/typescript/lib"}
编译选项
allowJs
允许编译 js 文件。设置为 true 时,js 文件会被 tsc 编译,否则不会。一般在项目中 js, ts 混合开发时需要设置。
# 设置为 true 时,编译后的文件包含 foo.js├── lib│ ├── foo.js│ └── index.js├── src│ ├── foo.js│ └── index.ts├── package.json└── tsconfig.json# 设置为 false 时,编译后的文件不包含 foo.js├── lib│ └── index.js├── src│ ├── foo.js│ └── index.ts├── package.json└── tsconfig.json
allowSyntheticDefaultImports
允许对不包含默认导出的模块使用默认导入。这个选项不会影响生成的代码,只会影响类型检查。
export = foo // 是 ts 为了兼容 commonjs 创造的语法,它对应于 commonjs 中的 module.exports = foo// 在 ts 中,如果要引入一个通过 export = foo 导出的模块// 标准的语法是 import foo = require('foo'),或者 import * as foo from 'foo'// 但习惯是 import foo from 'foo'// 如果allowSyntheticDefaultImports设置为false,`import foo from 'foo'` 会报错,为了解决这个问题,需要开启这个选项
