React-Native:main.jsbundle不存在。这必须是“无法将对象转换为原始值”的错误

Pon*_*leu 6 ios react-native

我的项目信息

React Native Environment Info:
System:
  OS: macOS High Sierra 10.13.6
  CPU: x64 Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
  Memory: 241.64 MB / 8.00 GB
  Shell: 3.2.57 - /bin/bash
Binaries:
    Node: 8.11.3 - /usr/local/bin/node
    Yarn: 1.7.0 - /usr/local/bin/yarn
    npm: 6.2.0 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
    iOS SDK:
        Platforms: iOS 12.0, macOS 10.14, tvOS 12.0, watchOS 5.0
    Android SDK:
        Build Tools: 21.1.2, 22.0.1, 23.0.1, 23.0.2, 23.0.3, 25.0.0, 25.0.2, 25.0.3, 26.0.1, 26.0.2, 26.0.3, 27.0.3, 28.0.2
    API Levels: 23, 24, 25, 26, 27
IDEs:
    Android Studio: 3.0 AI-171.4408382
    Xcode: 10.0/10A255 - /usr/bin/xcodebuild
npmPackages:
    react: 16.4.1 => 16.4.1 
    react-native: 0.56.0 => 0.56.0 
npmGlobalPackages:
    create-react-native-app: 1.0.0
    react-native-camera: 0.9.0
    react-native-cli: 2.0.1
    react-native-git-upgrade: 0.2.7
    react-native-maps: 0.15.2
    react-native-vector-icons: 4.0.0
Run Code Online (Sandbox Code Playgroud)

开发人员身份运行项目运行正常,但以发布版本身份运行会产生以下错误。

warning: the transform cache was reset.
Loading dependency graph, done.

/Users/macintoshhd/Documents/TGS/mow/node_modules/rx/dist/rx.all.js: Cannot convert object to primitive value

+ [[ false != true ]]
+ [[ ! -f /Users/macintoshhd/Library/Developer/Xcode/DerivedData/mow-ekmdxdpkhrpqmmdbccixjzdqelmg/Build/Products/Release-iphoneos/mow.app/main.jsbundle ]]
+ echo 'error: File /Users/macintoshhd/Library/Developer/Xcode/DerivedData/mow-ekmdxdpkhrpqmmdbccixjzdqelmg/Build/Products/Release-iphoneos/mow.app/main.jsbundle does not exist. This must be a bug with'
Run Code Online (Sandbox Code Playgroud)

我试图手动将项目与 --dev=false

react-native bundle --entry-file='index.js' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios' --assets-dest='./ios'
Run Code Online (Sandbox Code Playgroud)

我得到了这个错误输出

扫描文件夹中的/ Users / macintoshhd / Documents / myproject / node_modules中的符号链接(41ms)扫描文件夹中的/ Users / macintoshhd / Documents / myproject / node_modules中的符号链接(29ms)正在加载依赖关系图。

/Users/macintoshhd/Documents/myproject/node_modules/rx/dist/rx.all.js:无法将对象转换为原始值

更改--dev=false--dev=true,这些输出将成功建立

react-native bundle --entry-file='index.js' --bundle-output='./ios/main.jsbundle' --dev=true --platform='ios' --assets-dest='./ios'
Run Code Online (Sandbox Code Playgroud)

扫描文件夹中的/ Users / macintoshhd / Documents / TGS / mow / node_modules
中的符号链接(15ms)扫描文件夹中的/ Users / macintoshhd / Documents / TGS / mow / node_modules中的符号链接(17ms)
加载依赖关系图,完成。
捆绑软件:将捆绑软件输出写入以下目录:./ios/mow/main.js
捆绑软件捆绑:完成写入捆绑软件输出
捆绑软件:复制31个资产文件
捆绑软件:完成复制资产

我尝试过
-清理并重建
-删除node_modules并重新安装
-清理Derived文件夹,重新启动Xcode,但是它们都不能解决问题。

看来这是主要问题。

/Users/macintoshhd/Documents/TGS/mow/node_modules/rx/dist/rx.all.js:无法将对象转换为原始值

您有什么建议,请帮忙。谢谢!

Pon*_*leu 3

我花了几天时间 node_modules/rx/dist/rx.all.js: Cannot convert object to primitive value通过注释所有代码并逐一取消注释来找出错误原因。

问题是,当我在自动完成弹出窗口后恰巧按 Enter 时,VS Code 自动导入未知库。这是

import { AsyncSubject } from 'rx';
Run Code Online (Sandbox Code Playgroud)

删除导入语句后,我在发布模式下成功构建了项目。

当以开发模式运行时,这种错误不会抛出异常:(,除非是为发布构建时。