缩短 TypeScript 中的导入路径

本文介绍了如何在TypeScript项目中利用tsconfig.json的路径映射功能,通过设置别名来实现绝对路径导入,从而简化导入语句,提高代码的可维护性。这种方法允许在改变目录结构时,无需手动更新导入路径,提升了开发效率。
摘要由CSDN通过智能技术生成

在 TypeScript 中,我们通常使用相对路径导入特定文件。以下是从 helperservices 文件夹导入多个文件的示例:

import { validator } from '../../../helpers/validator'
import { authService } from '../../../services/authService'

缺点是,当我们更改目录结构时,必须相应地更新这些导入。尽管 VSCode 等流行编辑器会自动更新路径,但这并不能确保该过程始终有效。

幸运的是,TypeScript 提供了使用绝对路径的能力。在 TypeScript 配置文件 tsconfig.json 中,我们可以在 path 属性下指示特定路径的别名。

例如,以下设置将在 src 文件夹中找到所有以 @ 开头的导入:

{
  "paths": {
    "@/*": ["src/*"]
  }
}
导入路径完全相同的绝对路径
@/helpers/validatorsrc/helpers/validator
@/services/authServicesrc/services/authService

我们的 import 可以缩短如下:

import { validator } from '@/helpers/validator'
import { authService } from '@/services/authService'

例如,有些库遵循特定的目录结构模式,我们可以预先定义给定文件夹的路径:

{
  "paths": {
    "@helpers/*": ["src/helpers/*"],
    "@models/*": ["src/models/*"],
    "@services/*": ["src/services/*"]
  }
}

然后,可以将属于这些文件夹的文件的导入缩短如下:

import { validator } from '@helpers/validator'
import { userModel } from '@models/user'
import { authService } from '@services/authService'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值