避免输入声明冲突的打字稿编码约定

时间:2019-06-30 11:19:29

标签: typescript

尝试执行类似操作时,TypeScript会正确错误

import * as path from "path"

let path = path.join("a", "b", "c")

因为Import declaration conflicts with local declaration of 'path'

基本上有两种选择:

  1. 使用其他名称导入path模块。
  2. 避免将path作为变量名。

这似乎是常见的冲突。我对TypeScript中的常见编码约定不熟悉。我想知道有建议如何处理标准编码约定中的此类冲突?

特别是,如果要使用选项1,是否有像pathModmPathm_pathpath_module这样的通用模块重命名方案?

1 个答案:

答案 0 :(得分:1)

TL; DR 我认为没有其他更具体的约定只是为了避免冲突而选择您的姓名。

  

特别是,如果要使用选项1,是否有通用的模块重命名方案,例如pathMod,mPath,m_path,path_module等等?

不是我所知道的。

重新避免冲突:使用更具体的变量名称通常会有所帮助。如果该路径用于CSV文件(例如),则可能是csvPath而不是path

let csvPath = path.join("a", "b", "c");

您也可以只导入join

import { join } from "path"

let path = join("a", "b", "c");

...但是,当然,这只是移动球门柱-如果您想拥有一个名为join的变量怎么办? :-)