import路径中的‘...’(三个点)有何含义?输入错误后竟可运行
为什么包含
...的import路径能正常运行? 首先明确:在Node.js/TypeScript/Webpack这类工具的路径解析规则中,三个点(...)并不是特殊的路径符号,它只是一个普通的目录名称——只有.(当前目录)和..(父目录)是文件系统层面的特殊路径组件。
你的代码能运行,大概率是以下两种情况之一:
- 你的项目中恰好存在一个名为
...的目录,让整个路径最终解析到了正确的foo.ts文件; - 模块解析器(比如Angular CLI依赖的Webpack)的配置(如
resolve.modules、baseUrl等),使得当找不到指定路径时,会自动从预设的目录(比如项目根目录、src目录)中查找同名模块,刚好匹配到了你要导入的foo.ts。
另外你提到Linux终端里ls ...表示向上两级目录,这是shell的自定义扩展行为(比如很多人会给bash设置alias ...='../..'的别名),属于shell层面的快捷方式,和编程语言的模块路径解析规则完全无关,不能混为一谈。
内容的提问来源于stack exchange,提问作者Jeanluca Scaljeri
相关产品推荐
相关产品推荐

