编译器配置项-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
配置项为node16
、nodenext
或者bundler
时为true
,其它情况为false
。
从node_modules
读取数据时,resolvePackageJsonExports
配置项强制TypeScript查阅package.json
文件的exports
字段 。
解析package.json模块的imports-resolvePackageJsonImports
默认值:当moduleResolution
配置项为node16
、nodenext
或者bundler
时为true
,其它情况为false
。
当在文件中执行以#
开始的查找时,resolvePackageJsonImports
配置项强制TypeScript查阅该文件祖先目录中package.json
文件的imports
字段。
网友评论