@react-navigation/bottom-tabs 5.x 导致的启动错误
Launch error caused by @react-navigation/bottom-tabs 5.x
从之前的 5.x 升级到最新的 @react-navigation/stack 5.2.10 之后。 App(react native 0.61.5)启动报错:
error: bundling failed: SyntaxError: C:\D\code\js\emps_fe615\node_modules\@react-navigation\bottom-tabs\src\index.tsx: Unexpected token (15:12)
13 | * Types
14 | */
> 15 | export type {
| ^
16 | BottomTabNavigationOptions,
17 | BottomTabNavigationProp,
18 | BottomTabBarProps,
BUNDLE [android, dev] ./index.js ▓▓▓▓▓▓▓▓▓▓▓▓░░░░ 75.5% (802/923)::ffff:127.0.0.1 - - [11/Apr/2020:02:14:43 +0000] "GET /index.bundle?platform=android&dev=true&minify=false HTTP/1.1" 500 - "-" "okhttp/3.12.1"
BUNDLE [android, dev] ./index.js ▓▓▓▓▓▓▓▓▓▓▓▓░░░░ 75.5% (802/923), failed.
这里是package.json
的部分:
"@react-navigation/bottom-tabs": "^5.2.6",
"@react-navigation/native": "^5.1.5",
"@react-navigation/stack": "^5.2.10"
"react-native-gesture-handler": "^1.6.1",
"react-native-screens": "^2.4.0",
有人看到升级后的错误吗?有解决办法吗?
如果没有任何效果,如果您使用的是 yarn,您可以尝试一下:
rm -rf node_modules yarn.lock
yarn cache clean
yarn
如果 NPM:
rm -rf node_modules package-lock.lock
npm cache clean --force
npm install
[奖励] 启动 React Native 清理缓存:
原版 RN:npx react-native start --reset-cache
博览会:expo start -c
以下步骤将解决问题。
npm install @babel/core@^7.9.0
npm install @babel/runtime@^7.9.2
npm cache clean --force
expo start -c
你的@react-navigation/native版本是5.1.5
您的导航器(堆栈和 bottom-tabs)版本与 @react-navigation/native 版本不同。
这就是出现此问题的原因。确保这些包具有相同的版本。
如果 expo-cli
是全局安装的,这往往会发生。如果是,试试这个:
yarn global add @babel/core
或其 npm 等价物
npm install -g @babel/core
但是,我注意到最好不要有任何全局包,因此您必须 yarn global remove expo-cli
并将其添加到您的项目中 (yarn add expo-cli
)。
从之前的 5.x 升级到最新的 @react-navigation/stack 5.2.10 之后。 App(react native 0.61.5)启动报错:
error: bundling failed: SyntaxError: C:\D\code\js\emps_fe615\node_modules\@react-navigation\bottom-tabs\src\index.tsx: Unexpected token (15:12)
13 | * Types
14 | */
> 15 | export type {
| ^
16 | BottomTabNavigationOptions,
17 | BottomTabNavigationProp,
18 | BottomTabBarProps,
BUNDLE [android, dev] ./index.js ▓▓▓▓▓▓▓▓▓▓▓▓░░░░ 75.5% (802/923)::ffff:127.0.0.1 - - [11/Apr/2020:02:14:43 +0000] "GET /index.bundle?platform=android&dev=true&minify=false HTTP/1.1" 500 - "-" "okhttp/3.12.1"
BUNDLE [android, dev] ./index.js ▓▓▓▓▓▓▓▓▓▓▓▓░░░░ 75.5% (802/923), failed.
这里是package.json
的部分:
"@react-navigation/bottom-tabs": "^5.2.6",
"@react-navigation/native": "^5.1.5",
"@react-navigation/stack": "^5.2.10"
"react-native-gesture-handler": "^1.6.1",
"react-native-screens": "^2.4.0",
有人看到升级后的错误吗?有解决办法吗?
如果没有任何效果,如果您使用的是 yarn,您可以尝试一下:
rm -rf node_modules yarn.lock
yarn cache clean
yarn
如果 NPM:
rm -rf node_modules package-lock.lock
npm cache clean --force
npm install
[奖励] 启动 React Native 清理缓存:
原版 RN:npx react-native start --reset-cache
博览会:expo start -c
以下步骤将解决问题。
npm install @babel/core@^7.9.0
npm install @babel/runtime@^7.9.2
npm cache clean --force
expo start -c
你的@react-navigation/native版本是5.1.5 您的导航器(堆栈和 bottom-tabs)版本与 @react-navigation/native 版本不同。 这就是出现此问题的原因。确保这些包具有相同的版本。
如果 expo-cli
是全局安装的,这往往会发生。如果是,试试这个:
yarn global add @babel/core
或其 npm 等价物
npm install -g @babel/core
但是,我注意到最好不要有任何全局包,因此您必须 yarn global remove expo-cli
并将其添加到您的项目中 (yarn add expo-cli
)。