Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

EXPO iOS Bundling failed 6832ms index.tsx (2181 modules) ERROR SyntaxError in node_modules/react-native/src/private/components/virtualview/VirtualView.js: ';' expected (93:19) match (mode) {

未关闭
#1,602 6 条评论 4 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
javascript, react-native

调研方向

首先使用 npm run ios 重现失败,并检查 node_modules/react-native/src/private/components/virtualview/VirtualView.js 中报告的语法错误。使用 index.tsx 作为 bundle 入口点,检查所提供的 package.json 和 babel.config.js 版本及配置。完成标准是 iOS bundle 在没有此语法错误的情况下完成。

由索引模型根据 Issue 内容生成。

描述

I've never written a problem, sorry if anything is missing.

npm run ios

iOS Bundling failed 6832ms index.tsx (2181 modules) ERROR SyntaxError in node_modules/react-native/src/private/components/virtualview/VirtualView.js: ';' expected (93:19) match (mode) {

{
"name": "tapthing-fe",
"version": "1.0.0",
"main": "index.tsx",
"scripts": {
"start": "expo start",
"android": "expo run:android",
"ios": "expo run:ios",
"web": "expo start --web"
},
"expo": {
"install": {
"exclude": [
"@shopify/flash-list"
]
}
},
"dependencies": {
"@d11/react-native-fast-image": "^8.12.0",
"@expo/metro-runtime": "6.1.2",
"@expo/vector-icons": "^15.0.2",
"@gorhom/bottom-sheet": "5.2.6",
"@react-native-async-storage/async-storage": "^2.2.0",
"@react-native-community/netinfo": "11.4.1",
"@react-navigation/bottom-tabs": "^7.4.0",
"@react-navigation/drawer": "^7.5.8",
"@react-navigation/elements": "^2.6.3",
"@react-navigation/native": "^7.1.8",
"@react-navigation/native-stack": "^7.3.16",
"@shopify/flash-list": "2.1.0",
"@supabase/supabase-js": "2.58.0",
"@tanstack/react-query": "^5.90.2",
"axios": "1.12.2",
"babel-plugin-module-resolver": "^5.0.2",
"expo": "54.0.13",
"expo-asset": "~12.0.3",
"expo-blur": "~15.0.2",
"expo-constants": "~18.0.3",
"expo-crypto": "~15.0.7",
"expo-dev-client": "~6.0.15",
"expo-font": "~14.0.9",
"expo-haptics": "~15.0.2",
"expo-image": "~3.0.2",
"expo-image-picker": "~17.0.8",
"expo-linear-gradient": "~15.0.7",
"expo-linking": "~8.0.2",
"expo-localization": "^17.0.7",
"expo-location": "~19.0.7",
"expo-sharing": "~14.0.7",
"expo-splash-screen": "~31.0.3",
"expo-status-bar": "~3.0.3",
"expo-symbols": "~1.0.2",
"expo-web-browser": "~15.0.2",
"i18next": "^25.5.3",
"libphonenumber-js": "1.12.23",
"mime": "4.1.0",
"onesignal-expo-plugin": "2.0.3",
"react": "19.1.0",
"react-dom": "19.1.0",
"react-i18next": "^16.0.0",
"react-native": "0.81.4",
"react-native-gesture-handler": "~2.28.0",
"react-native-get-random-values": "1.11.0",
"react-native-image-viewing": "0.2.2",
"react-native-international-phone-number": "0.11.0",
"react-native-onesignal": "5.2.13",
"react-native-paper": "^5.14.5",
"react-native-reanimated": "~4.1.1",
"react-native-safe-area-context": "~5.6.0",
"react-native-screens": "~4.16.0",
"react-native-view-shot": "4.0.3",
"react-native-web": "^0.21.0",
"react-native-worklets": "0.5.1",
"reactotron-react-native": "5.1.17",
"uuid": "13.0.0",
"zustand": "^5.0.8"
},
"devDependencies": {
"@types/react": "~19.1.0",
"eslint": "^9.25.0",
"eslint-config-expo": "~10.0.0",
"typescript": "~5.9.2"
},
"private": true,
"engines": {
"node": "22.x",
"npm": "11.x"
},
"packageManager": "[email protected]"
}

// babel.config.js
module.exports = function (api) {
api.cache(true);

const isProd = process.env.NODE_ENV === 'production';

return {
presets: ['babel-preset-expo'],
plugins: [
// Alias
[
'module-resolver',
{
alias: {
'@': './src',
'@components': './src/components',
'@theme': './src/theme',
'@screens': './src/screens',
'@navigation': './src/navigation',
'@assets': './src/assets',
'@hooks': './src/hooks',
'@providers': './src/providers',
'@locales': './src/locales',
'@context': './src/context',
'@store': './src/store',
'@libs': './src/libs',
'@utils': './src/utils',
'@config': './src/config',
'@api': './src/api',
},
},
],

  // Paper va PRIMA di Reanimated
  ...(isProd ? ['react-native-paper/babel'] : []),

  // Deve essere SEMPRE l'ultimo
  'react-native-reanimated/plugin',
],

};
};

主要语言
JavaScript
星标
5.6k
派生
702
平均合并
2 天 13 小时
30 天内合并 PR
59

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

react/metro 的其他 Issue

查看 react/metro 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。