TSConfig文件详解14

2024-06-25  本文已影响0人  从零开始学ArchLinux

编译器配置项-compilerOptions

模块相关(五)

解析JSON模块-resolveJsonModule

允许导入以.json为扩展名的模块文件,nodejs项目中通常配置会配置为true。这种情况下会为导入的JSON模块文件生成一个基于该json文件结构的类型。

TypeScript默认不支持解析导入JSON文件:

// @filename: settings.json
{
    "repo": "TypeScript",
    "dry": false,
    "debug": false
}
// @filename: index.ts
import settings from "./settings.json";
// Cannot find module './settings.json'. Consider using '--resolveJsonModule' to import module with '.json' extension.
 
settings.debug === true;
settings.dry === 2;

开启该配置项,将允许导入JSON文件,并验证基于该JSON文件生成的类型。

// @filename: settings.json
{
    "repo": "TypeScript",
    "dry": false,
    "debug": false
}
// @filename: index.ts
import settings from "./settings.json";
 
settings.debug === true;
settings.dry === 2;
// This comparison appears to be unintentional because the types 'boolean' and 'number' have no overlap.

解析package.json模块的exports-resolvePackageJsonExports

默认值:当moduleResolution配置项为node16nodenext或者bundler时为true,其它情况为false

node_modules读取数据时,resolvePackageJsonExports配置项强制TypeScript查阅package.json文件的exports字段

解析package.json模块的imports-resolvePackageJsonImports

默认值:当moduleResolution配置项为node16nodenext或者bundler时为true,其它情况为false

当在文件中执行以#开始的查找时,resolvePackageJsonImports配置项强制TypeScript查阅该文件祖先目录中package.json文件的imports字段。

上一篇下一篇

猜你喜欢

热点阅读