Aliases in typescript
September 13, 2024Less than 1 minute
概述
在编写 Typescript 应用时,经常需要在代码中引入多个模块或文件,这时候可能会遇到很长的路径名称。特别是相对路径,例如'../../../../some/very/deep/module',让人无法接受。
解决方案
使用路径别名(path aliases),将这些长路径映射成简短的别名,以方便在代码中进行引用,而且可以提高代码的可读性、可维护性和重用性。
而处理路径别名,已经有成熟的第三方库可用了,例如 tsconfig-paths、module-alias 等,不过更推荐 node 自带的 import mapping 方式解决,它同时支持 require 和 import 的导入方式,而无需按照第三方库。
配置方法
tsconfig.json
配置这里是为了在编译时能识别路径别名。
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"##/*": ["./*"]
}
},
"exclude": ["node_modules"]
}
package.json
配置这里是为了在运行时能识别路径别名。
"imports": {
"##/*": "./*"
},
使用方法
import { Model } from "##/api/models.js";