构建 JS 包时出现 Expo 启动错误:在 HMRClient.js 中输入 cast
Expo start error on building JS bundle : type cast in HMRClient.js
问题:
我最近在我的 expo 项目 (React Native) 中遇到了一个阻塞问题。
类型转换表达式应该用括号括起来
我检查了我的代码,没有发现任何会导致此问题的更改。
当我使用 MetroBundler 键入启动 expo building (shell) 的说明时,它总是会抛出错误。
expo start
Expo DevTools is running at http://localhost:19002
Opening DevTools in the browser... (press shift-d to disable)
Starting Metro Bundler
错误 :
Failed building JavaScript bundle.
SyntaxError: C:\xamppN\htdocs\mobile-new\node_modules\react-native\Libraries\Utilities\HMRClient.js: The type cast expression is expected to be wrapped with parenthesis (284:31)
282 | function flushEarlyLogs(client) {
283 | try {
> 284 | pendingLogs.forEach(([level: LogLevel, data: Array<mixed>]) => {
| ^
285 | HMRClient.log(level, data);
286 | });
287 | } finally {
类型转换表达式应该用括号括起来
我试过了:
- 正在编辑目标文件,它在节点模块中,不是
非常有效 如果我以后必须安装纱线。
- 删除所有node_modules并重新安装没有成功
- 正在将 expo 更新到最新版本,没有任何改变,同样的错误
更多信息:
package.json :
"dependencies": {
"antd": "^3.23.2",
"expo": "^39.0.0",
"expo-asset": "~8.2.0",
"expo-av": "~8.6.0",
"expo-barcode-scanner": "~9.0.0",
"expo-cli": "^3.27.14",
"expo-constants": "~9.2.0",
"expo-localization": "~9.0.0",
"expo-permissions": "~9.3.0",
"expo-secure-store": "~9.2.0",
"expo-updates": "~0.3.3",
"expokit": "31.0.2",
"moment": "^2.22.2",
"node-forge": "^0.10.0",
"npm": "^6.14.8",
"react": "16.13.1",
"react-datetime-inputs": "^0.0.6",
"react-mixin": "^2.0.2",
"react-native": "https://github.com/expo/react-native/archive/sdk-39.0.0.tar.gz",
"react-native-create-bridge": "^2.0.1",
"react-native-dialog": "^5.6.0",
"react-native-dialog-input": "^1.0.7",
"react-native-gesture-handler": "~1.7.0",
"react-native-imei": "^0.1.2",
"react-native-modal-datetime-picker": "^7.5.0",
"react-native-pay-password": "^0.0.2",
"react-native-reanimated": "~1.13.0",
"react-native-sentry": "^0.43.2",
"react-native-sha1": "^1.2.3",
"react-navigation": "^4.0.6",
"react-navigation-drawer": "^2.2.2",
"react-select": "^3.0.4",
"react-timer-mixin": "^0.13.4",
"sentry-expo": "~2.0.0",
"yarn": "^1.16.0"
这是 "yarn": "^1.16.0" and "npm": "^6.14.8"
之间的冲突。
您应该选择 ONE 包管理器并避免交叉依赖。
问题:
我最近在我的 expo 项目 (React Native) 中遇到了一个阻塞问题。
类型转换表达式应该用括号括起来
我检查了我的代码,没有发现任何会导致此问题的更改。
当我使用 MetroBundler 键入启动 expo building (shell) 的说明时,它总是会抛出错误。
expo start
Expo DevTools is running at http://localhost:19002
Opening DevTools in the browser... (press shift-d to disable)
Starting Metro Bundler
错误 :
Failed building JavaScript bundle.
SyntaxError: C:\xamppN\htdocs\mobile-new\node_modules\react-native\Libraries\Utilities\HMRClient.js: The type cast expression is expected to be wrapped with parenthesis (284:31)
282 | function flushEarlyLogs(client) {
283 | try {
> 284 | pendingLogs.forEach(([level: LogLevel, data: Array<mixed>]) => {
| ^
285 | HMRClient.log(level, data);
286 | });
287 | } finally {
类型转换表达式应该用括号括起来
我试过了:
- 正在编辑目标文件,它在节点模块中,不是 非常有效 如果我以后必须安装纱线。
- 删除所有node_modules并重新安装没有成功
- 正在将 expo 更新到最新版本,没有任何改变,同样的错误
更多信息:
package.json :
"dependencies": {
"antd": "^3.23.2",
"expo": "^39.0.0",
"expo-asset": "~8.2.0",
"expo-av": "~8.6.0",
"expo-barcode-scanner": "~9.0.0",
"expo-cli": "^3.27.14",
"expo-constants": "~9.2.0",
"expo-localization": "~9.0.0",
"expo-permissions": "~9.3.0",
"expo-secure-store": "~9.2.0",
"expo-updates": "~0.3.3",
"expokit": "31.0.2",
"moment": "^2.22.2",
"node-forge": "^0.10.0",
"npm": "^6.14.8",
"react": "16.13.1",
"react-datetime-inputs": "^0.0.6",
"react-mixin": "^2.0.2",
"react-native": "https://github.com/expo/react-native/archive/sdk-39.0.0.tar.gz",
"react-native-create-bridge": "^2.0.1",
"react-native-dialog": "^5.6.0",
"react-native-dialog-input": "^1.0.7",
"react-native-gesture-handler": "~1.7.0",
"react-native-imei": "^0.1.2",
"react-native-modal-datetime-picker": "^7.5.0",
"react-native-pay-password": "^0.0.2",
"react-native-reanimated": "~1.13.0",
"react-native-sentry": "^0.43.2",
"react-native-sha1": "^1.2.3",
"react-navigation": "^4.0.6",
"react-navigation-drawer": "^2.2.2",
"react-select": "^3.0.4",
"react-timer-mixin": "^0.13.4",
"sentry-expo": "~2.0.0",
"yarn": "^1.16.0"
这是 "yarn": "^1.16.0" and "npm": "^6.14.8"
之间的冲突。
您应该选择 ONE 包管理器并避免交叉依赖。