GitLab发布Package Registry包后yarn add成功但import报Module not found错误
问题排查方案
- 先确认入口文件的导出配置
你当前package.json中main字段配置的包入口为./src/index.js,直接从包名导入时,会默认读取该文件的导出内容。你需要导出的stuff存放在src/thing1/file.jsx,需要在src/index.js中添加对应导出语句:// src/index.js 新增内容 // 如果stuff是file.jsx的命名导出,用这个 export { stuff } from './thing1/file.jsx' // 如果stuff是file.jsx的默认导出,用这个 export { default as stuff } from './thing1/file.jsx' - 检查发布前的编译配置
你当前直接把源码作为包内容发布,.jsx后缀的文件需要消费方的构建工具额外配置识别规则才能正常解析,node_modules默认不会走jsx转译逻辑。建议你发布前先把代码编译为普通js产物,将main字段指向编译后的入口,例如:// package.json 修改main字段 "main": "./dist/index.js" - 临时验证方法
你可以先用完整路径导入验证问题根源,如果以下语句能正常导入,就说明只是入口导出配置问题:import { stuff } from '@thing/thing2/src/thing1/file.jsx'
内容的提问来源于stack exchange,提问作者Oliver Brace
相关产品推荐
相关产品推荐

