本地依赖导入无需指定lib目录的正确配置方法求助
解决方案
你只需在helper-package/package.json中配置正确的模块入口与导出规则,保持main-project的依赖配置("helper-package": "file:../helper-package")不变即可解决问题,具体操作如下:
1. 配置主入口
指定包的默认入口文件,让import Helper from "helper-package"直接指向编译后的lib目录主文件:
{ "name": "helper-package", "main": "./lib/index.js", // 若使用TypeScript,需添加types字段指向类型声明文件 "types": "./lib/index.d.ts" }
2. 配置子路径导出
要支持import Parser from "helper-package/utils/parser"这类子路径导入,需在package.json中添加exports字段,明确映射子路径到对应编译文件:
{ "name": "helper-package", "main": "./lib/index.js", "types": "./lib/index.d.ts", "exports": { ".": "./lib/index.js", "./utils/parser": "./lib/utils/parser.js", // TypeScript环境需额外配置类型文件的导出映射 "./utils/parser.d.ts": "./lib/utils/parser.d.ts" } }
注意:如果helper-package用TypeScript开发,要确保编译时开启
tsconfig.json中的declaration: true,生成对应的.d.ts类型文件。
3. 生效配置
在main-project中重新执行npm install(或pnpm install/yarn install),之后就能直接使用你想要的导入方式:
import Helper from "helper-package" import Parser from "helper-package/utils/parser"
这种方式完全遵循npm包的标准配置规范,无需复制package.json到lib目录,就能实现简洁的导入路径。
内容的提问来源于stack exchange,提问作者AX2
相关产品推荐
相关产品推荐

