需要使用原生的导航栏,所以跳转界面是通过自定义module,添加openURL方法实现具体使用如下
var event = weex.requireModule('event')
event.openURL('http://xxx/weex/app.weex.js');
现在想实现效果为
var event = weex.requireModule('event')
event.openURL('b.vue');
swift端的实现是
public extension WXEventModule {
public func openURL(_ url:String) {
var newUrl:String = url;
if url.hasPrefix("//") {
newUrl = String.init(format: "http://%@", url);
}else if !url.hasPrefix("http") {
//relative path
newUrl = (NSURL.init(string: url, relativeTo: weexInstance.scriptURL)!.absoluteString)!
}
print(url)
let storyboard = UIStoryboard.init(name: "Main", bundle: nil)
let mainVc = storyboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController
mainVc.url = newUrl
weexInstance.viewController.navigationController?.pushViewController(mainVc, animated:true)
}
}
通过打断的知道直接dist 目录下找对应的js文件
这样我可以将b.vue对应的生成到dist目录下就可以实现,但是觉得这样太麻烦了,有没有更好的办法呢?
还是把
.vue
文件编译了吧,不麻烦。不说实时解析性能和安全性了,在 web 上也没有浏览器能直接运行.vue
。。