package.json中exports字段里"./package.json": "./package.json"的作用是什么?
关于package.json中exports字段里"./package.json"配置的作用
当你在package.json里配置了exports字段后,Node.js的模块解析规则会发生变化——它只会对外暴露exports中明确列出的路径,其他未声明的路径都会被拦截,外部代码没法直接导入。
举个例子,如果没有这个"./package.json": "./package.json"配置,其他项目里写require('my-package/package.json')或者import 'my-package/package.json'都会报错,因为这个路径不在exports的白名单里。
加上这个配置的核心作用,就是主动放开外部代码对当前包的package.json文件的访问权限,让依赖这个包的项目可以直接读取它的package.json内容,比如用来获取包的版本号、作者信息这类元数据。
另外提一句:exports是Node.js模块系统的规范内容,并非npm专属,所以你在npm官方文档里找不到相关说明,相关定义在Node.js的模块系统文档中。
内容的提问来源于stack exchange,提问作者Qiulang
相关产品推荐
相关产品推荐

