准备
- 30 m
- Link: https://ts.nodejs.cn/docs/handbook/modules/reference.html
- 参考
- 8/7 工具函数
- 8/8 合并类型 + 枚举
- 8/9 迭代器(for...of; map vs.obj;零值相等,全值相等)
- 8/12 三斜杠指令
- 8/13 类型兼容
- 8/14 类型推断 & 变量声明
- 8/15 理论
- 8/18 参考&附录
module and moduleResolution, esm/cjs 的互操作性. allowSyntheticDefaultImports and esModuleInterop
- 基础类型
横向: 不同项目的 TS Configurations
New
{
"compilerOptions": {
"target": "ES2015",
"lib": [
"DOM",
"ESNext"
],
"allowJs": true,
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"declaration": false,
"jsx": "preserve",
"experimentalDecorators": true,
"resolveJsonModule": true,
"moduleResolution": "node"
},
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Base"
"compilerOptions": {
"declaration": false,
"jsx": "preserve",
"baseUrl": "./",
"target": "es2017",
"moduleResolution": "node",
"paths": {
"@/*": ["./src/*"],
"@shared/*": ["./shared/*"]
},
"types": ["react", "react-dom"],
"noEmit": true,
"plugins": [
{
"name": "typescript-plugin-css-modules",
"options": {
"customMatcher": ".(module|m).(css|less|scss)$",
"additionalData": "@import '@/assets/styles/_common.scss';"
}
}
]
},
"include": [
"src",
"shared",
"config",
"edenx.config.ts",
"typing.d.ts",
"edenx.d.ts"
],
"allowSyntheticDefaultImports": true
}
Debug
{
"compilerOptions": {
"target": "es6",
"module": "esnext",
"allowJs": true,
"lib": ["esnext", "es7", "dom"],
"jsx": "react",
"strict": true,
"experimentalDecorators": true,
"sourceMap": true,
"moduleResolution": "node",
"forceConsistentCasingInFileNames": true,
"noImplicitReturns": true,
"noUnusedLocals": true,
"esModuleInterop": true,
"noFallthroughCasesInSwitch": true,
"noUnusedParameters": true,
"skipLibCheck": true,
"resolveJsonModule": true,
// "rootDir": "src",
"baseUrl": "./",
"paths": {
"@/*": ["./src/*"],
// "@components/*": ["src/components/*"],
// "@constants/*": ["src/constants/*"],
// "@utils/*": ["src/utils/*"],
// "@hooks/*": ["src/hooks/*"],
// "@types/*": ["src/types/*"],
// "@assets/*": ["src/assets/*"],
},
},
"include": ["src", "eden.config.ts"],
"exclude": ["node_modules"]
}
HT
{
"compilerOptions": {
"target": "ES2015",
"lib": [
"DOM",
"ESNext"
],
"allowJs": true,
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"declaration": false,
"jsx": "preserve",
"experimentalDecorators": true,
"resolveJsonModule": true,
"moduleResolution": "node"
},
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Base"
"compilerOptions": {
"declaration": false,
"jsx": "react-jsx",
"baseUrl": "./",
"paths": {
"@/*": ["./src/*"],
"@@/*": ["./node_modules/.jupiter_exports/*"]
}
},
"include": [
"src",
"api",
"server",
"electron",
"typing.d.ts",
"ut.config.ts"
],
"exclude": ["src/__autotest__"]
}
galio
{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"moduleResolution": "node",
"importHelpers": true,
"jsx": "react",
"esModuleInterop": true,
"sourceMap": true,
"baseUrl": "./",
"skipLibCheck": true,
"strict": true,
"noFallthroughCasesInSwitch": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"paths": {
"@/*": ["src/*"],
"@@/*": ["src/.umi/*"]
},
"allowSyntheticDefaultImports": true
}
}
网友评论