weex 有像 react native 一样的改代码模拟器立即生效的功能吗?

2017-12-22 09:30:03 +08:00
 tomoya92

之前用 react native 开发都是一次运行一直到开发好,只要改了代码,在模拟器上 command + r 就更新了视图,相当方便

现在入门 weex,死活找不到这方面的功能,难道没有?但网上找了一篇博客,上面说有这功能,然后就没有下文了

2713 次点击
所在节点    问与答
11 条回复
freeminder
2017-12-22 10:03:50 +08:00
额,可以把 weex 的加载写成来自 http 的,pc 上面随便弄一个 server 服务起来编译好的 bundle,不是很简单吗?这句话说的就是这个意思呀
tomoya92
2017-12-22 10:14:34 +08:00
@freeminder #1 weex 没找到在哪设置这个地址。。
freeminder
2017-12-22 10:20:45 +08:00
@liygheart 你运行 weex 的 native 壳用的是自己编译的还是 playground?
tomoya92
2017-12-22 10:22:58 +08:00
@freeminder #3 用命令 `weex platform add ios` 加的
freeminder
2017-12-22 10:29:26 +08:00
@liygheart 没怼过 ios,我编的 android。可以去 weex 官方文档里面看看加载远程 bundle 的部分,把本地 ios 工程的代码照抄改一下。如果觉得弄不聊这个,就直接用 playground 扫码吧。weex debug 开启一个 web debug server
tomoya92
2017-12-22 10:48:21 +08:00
@freeminder #5 嗯,我再折腾一下
freeminder
2017-12-22 10:59:01 +08:00
@liygheart 哦对了,记得发送一下抖动指令给设备,可能弹出 debug 菜单,我恍惚记得 android 是可以的。
TakWolf
2017-12-22 11:11:30 +08:00
我没用官方壳子,是手工集成的,想办法让下面两句重新调用,貌似就可以重新初始化页面:

```
wxsdkInstance.renderByUrl(TAG, "http://192.168.99.187:8080/dist/index.js", null, null, WXRenderStrategy.APPEND_ASYNC);
```

```
NSURL *url = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"js"];
[_instance renderWithURL:url options:@{@"bundleUrl":[self.url absoluteString]} data:nil];
```
tomoya92
2017-12-22 11:15:06 +08:00
@TakWolf #8 嗯,我试试,谢谢

@freeminder 谢谢
tomoya92
2017-12-22 15:56:00 +08:00
@TakWolf
@freeminder

折腾出了个办法,添加 platform 方式用的是 `weex platform add ios`

然后找到 ios 里的 `config.xml` 把里面的 `<preference name="launch_locally" value="false" />`改成 false 这样 ios 里的 js 文件就会从网络获取

启动 weex 服务 `npm run serve` 端口必须要是 8080,如果不是的可以在创建的 weex 项目里的 `webpack.dev.js` 里修改,启动后访问一下 `http://localhost:8080/dist/index.js` 能否访问通

可以的话,就可以用 xcode 打开项目点击运行

修改代码,模拟器更新操作:在模拟器里双击 home 键,把运行的 weex 程序退出后台,然后再打开,js 就会重新下载,然后视图就更新了,还是不优雅,不过比重新运行 `weex run ios` 快些

ios 部分下载 js 代码在 `WeexBundleUrlLoder.m` 文件里面
redcat
2018-03-21 22:28:04 +08:00
有没有同学想玩 weex 的,我们这里阿里大牛已到位,收 weex 感兴趣的前端-安卓-iOS 的同学,简历:weex_job@126.com 坐标杭州西溪

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/416729

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX