3

我将 CodePush 与 React Native 和 iOS 一起使用。当使用 CodePush 连接到 chrome 调试器时,在使用 CodePush 离线包时,我收到此错误:

Uncaught NetworkError: 
Failed to execute 'importScripts' on 'WorkerGlobalScope': 
The script at 'file:///Users/naderdabit1/Library/Developer/CoreSimulator/Devices/115F136F-…ation/B0ECCD9D-8274-4308-A9C7-BAA2746FDF02/StudentStatus.app/main.jsbundle' 
failed to load.

在此处输入图像描述

当我切换到本地包或禁用 chrome 调试器时,错误消失了。

有任何想法吗?谢谢。

4

1 回答 1

2

[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]您能否确认在将 JS 捆绑包位置设置为AppDelegate.m文件然后启用时没有看到同样的错误Chrome Debugging?据我了解,您只能在您的应用程序从打包程序加载 JS 包时启用 Chrome 调试,并且由于 using[CodePush bundleURL]是从磁盘加载您的 JS 包(二进制文件中包含的包或最新的 CodePush 更新),它自然不支持 Chrome 调试方案。

我们已经完成工作以确保 CodePush 插件将与打包程序协同工作,以便开发人员可以使用他们自然的调试工作流程(例如 livereload、Chrome 支持)而无需更改任何内容来支持测试/与代码推送。我们的文档目前建议对 iOS 使用以下解决方案,我很想知道是否存在我们遗漏并且可以改进的场景:

NSURL *jsCodeLocation;

#ifdef DEBUG
    jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
#else
    jsCodeLocation = [CodePush bundleURL];
#endif
于 2016-02-03T02:11:45.467 回答