You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Reanimated 2.14.4在Webpack构建Web端时解析失败求助

解决React Native Reanimated 2.14.4 Web构建模块解析失败的思路

以下是针对你遇到的问题的具体排查和解决步骤:

1. 配置Webpack别名指向Reanimated的Web实现

Reanimated的Web版本有单独的入口文件,需要在Webpack配置中添加别名,确保Webpack能正确解析到Web端的代码:
在webpack.config.js的resolve.alias中添加:

resolve: {
  alias: {
    // 其他别名...
    'react-native-reanimated': 'react-native-reanimated/web',
  },
}

2. 确保Babel插件顺序正确

Reanimated的Babel插件必须放在所有插件的最后,否则会导致转译异常,检查你的babel.config.js:

module.exports = {
  presets: ['module:metro-react-native-babel-preset'],
  plugins: [
    // 其他插件(如TypeScript插件)放在前面
    '@babel/plugin-transform-typescript',
    // Reanimated插件必须最后声明
    'react-native-reanimated/plugin',
  ],
};

3. 调整TypeScript配置适配Web环境

修改tsconfig.json,确保包含Web相关的编译选项:

{
  "compilerOptions": {
    "target": "ESNext",
    "lib": ["DOM", "ESNext"],
    "moduleResolution": "NodeNext",
    "allowJs": true,
    "jsx": "react-jsx",
    // 其他已有配置...
  }
}

4. 清理缓存并重新安装依赖

缓存或依赖版本冲突可能导致解析失败,执行以下命令:

# 删除依赖和锁文件
rm -rf node_modules package-lock.json yarn.lock
# 重新安装依赖
npm install
# 清理Webpack缓存
npx webpack --clear-cache

5. 检查Webpack的扩展名解析规则

确保Webpack优先解析Web端的文件扩展名,在webpack.config.js的resolve.extensions中添加Web相关后缀:

resolve: {
  extensions: ['.web.tsx', '.web.ts', '.tsx', '.ts', '.web.js', '.js', '.json'],
}

6. 验证React Native Web版本兼容性

Reanimated 2.14.4要求React Native Web版本至少为^0.18.0,检查你的package.json中react-native-web的版本,若版本过低则升级:

npm install react-native-web@^0.18.0 --save

内容的提问来源于stack exchange,提问作者sjgoku

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 05:35:03