Expo项目中Webpack+TypeScript桶文件导入出现TS2305错误
解决Expo + Webpack + TypeScript中桶文件导出成员找不到的问题
以下是针对TS2305错误的具体解决步骤:
检查TypeScript配置的模块解析规则
确保tsconfig.json的模块解析配置正确,避免路径解析异常:{ "compilerOptions": { "baseUrl": ".", "moduleResolution": "Node", // 或NodeNext,根据项目环境调整 "target": "ESNext" } }若使用
NodeNext,需在项目根目录的package.json中添加"type": "module"。验证桶文件的导出逻辑
先替换通配符导出为显式导出,排查是否为通配符解析问题:// folder/index.ts import { func1 } from "./file1"; import { func2 } from "./file2"; export { func1, func2 };同时确认桶文件中
./file1、./file2的相对路径无拼写错误(注意大小写,Linux/macOS环境下路径区分大小写)。清理缓存并重启开发服务
Expo和Webpack的缓存可能导致旧解析结果残留,执行以下操作:- 关闭当前Expo开发服务器
- 删除项目根目录下的
.expo文件夹 - 删除
node_modules/.cache文件夹(若存在) - 执行
npx expo start --clear启动服务,强制清理缓存
检查Webpack配置的模块解析规则
若自定义了Webpack配置,确保resolve.mainFiles包含index,保证桶文件被识别为目录入口:// webpack.config.js 或 expo.config.js中的webpack配置 module.exports = { resolve: { mainFiles: ['index', 'index.ts', 'index.tsx'] } };确认文件扩展名配置
确保所有相关文件均为.ts扩展名,若在导入时使用.ts后缀,需在tsconfig.json中开启allowImportingTsExtensions: true。
内容的提问来源于stack exchange,提问作者Ahmed
相关产品推荐
相关产品推荐

