TSConfig文件详解13

编译器配置项-compilerOptions

模块相关(四)

模块后缀 - moduleSuffixes

提供一种覆盖默认文件后缀列表的方法,这种方法可以在查找解析模块时起作用。

{
  "compilerOptions": {
    "moduleSuffixes": [".ios", ".native", ""]
  }
}

如果进行以上的设置,现在的import语句:

import  *  as  foo  from  "./foo";

TypeScript将优先查找相对文件 ./foo.ios.ts./foo.native.ts,然后是./foo.ts文件。

moduleSuffixes配置项中的""是必须的,如果要查找./foo.ts文件。

这个功能对于React Native项目非常有用,对于不同的目标平台可以使用 具有不同moduleSuffix选项值的tsconfig.json。

禁用默认解析行为 - noResolve

默认情况下,TypeScript 将检查import<reference types="xxx" />指令的初始文件集,并将这些已解析的文件添加到程序中。

如果设置了 noResolve,则不会默认检查,但是仍会检查import语句是否可以解析为有效模块,因此您需要通过其他方式确保满足这一要求。

路径 - paths

可以设置一系列的key:value,这些设置将重新映射那些相对文件(baseUrl设置的目录或者tsconfig.json文件所在的目录),了解更多关于路径的配置参考moduleResolution配置项。

paths配置项允许设置TypeScript 如何解析 require/imports 中导入的模块。

{
 "compilerOptions": {
   "paths": {
     "jquery": ["./vendor/jquery/dist/jquery"]
   }
 }
}

以上配置可以在代码中编写import 'jquery',并获得正确解析。

{
 "compilerOptions": {
   "paths": {
     "app/*": ["./src/app/*"],
     "config/*": ["./src/app/_config/*"],
     "environment/*": ["./src/environments/*"],
     "shared/*": ["./src/app/_shared/*"],
     "helpers/*": ["./src/helpers/*"],
     "tests/*": ["./src/tests/*"]
  },
}

上边的配置,可以让TypeScript 文件解析器支持许多自定义前缀来查找导入的模块。

注意,此功能不会更改tsc 导入模块的方式,因此paths作用于运行时或者打包时,让TypeScript正确查找导入的模块。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容