简介weweb是一个兼容小程序语法的前端框架,你可以用小程序的写法,来写web应用。如果你已经有小程序了,通过它你可以将你的小程序运行在浏览器中。如果你熟悉vue的语法,也可以使用wepy编写小程序,再通过weweb转换 ...
简介weweb是一个兼容小程序语法的前端框架,你可以用小程序的写法,来写web应用。如果你已经有小程序了,通过它你可以将你的小程序运行在浏览器中。如果你熟悉vue的语法,也可以使用wepy编写小程序,再通过weweb转换后将其运行在web端。 该项目基于小程序开发者工具内置的小程序运行框架来实现的,我们在仔细研究了小程序官方的底层框架后,实现了小程序运行在web端的service和view引擎,为了使weweb能适应web端的性能要求,相较小程序原生框架,主要有以下调整:
适用场景
运行方法一:使用cli命令行工具安装: npm install weweb-cli -g 运行示例: weweb ./demos/demo20170111/ Options:
方法二:手动构建并运行:# clone此项目后安装依赖
npm i
# 构建核心库:
npm run build
# 运行示例:
./bin/weweb ./demos/demo20170111/
# 压缩app代码:使用环境变量 NODE_ENV=production
NODE_ENV=production ./bin/weweb demos/demo20170111
# 替换编译器:当编译出错时使用环境变量 DFT_CMP=true 调用微信开发者工具自带的编译器
DFT_CMP=true ./bin/weweb demos/demo20170111
# 环境变量可以组合使用
NODE_ENV=production DFT_CMP=true ./bin/weweb demos/demo20170111 开发用命令# 自动执行rebuild
npm run dev
# 自动重启服务器
npm run autostart 注意事项weweb默认使用我们自己写的编译器对wxml和wxss进行编译,但目前编译器还处于试用阶段,有些case可能没测全,使用weweb过程中如果发现一些异常情况,可以尝试切换成微信官方编译器,看看是不否能解决问题。出现类似问题欢迎大家给我们提issue。我们将尽快修正 # 切换成微信开发者工具自带的编译器:使用环境变量 DFT_CMP=true 如下:
DFT_CMP=true ./bin/weweb demos/demo20170111 转换成H5后,会存在跨域访问接口及脱离微信环境带来的一些api无法支持的问题。我们可以通过在小程序的
/**
* 此处的loginUrl地址必须是在app.json里注册了的小程序地址
*/
"weweb":{
"loginUrl":"/page/H5login"
}
/**
* 此处/remoteProxy是weweb自带server实现的一个代理接口
* 实际项目中请改成自己的真实代理地址。如果接口支持返回jsonp格式,则无需做此配置
*/
"weweb":{
"requestProxy":"/remoteProxy"
} 转换效果说明
感谢weweb前期参考了wept项目的实现,目前有部分代码也是沿用了wept的或在这基础上改造而来。在此,特别感谢wept的作者 chemzqm 的无私奉献 如果你有好的意见或建议,欢迎给我们提 issue 或 PR,为优化 weweb 贡献力量 下载地址:https://github.com/wdfe/weweb |