文章首发于微信公众号「GitHub 精选」,欢迎大家关注。打开微信,利用 “搜一搜”,搜索「GitHub 精选」,即可关注。
大家好,我是章鱼猫。
本日保举的这个项目是「wean」,一个小程序构建打包工具。
在 wean 之前,大量小程序工具利用 webpack 进行打包,各种 loader、plugin 导致整个开发链路变长。
wean 旨在解决链路问题,它自研编译器和打包器,对于标准小程序项目,可以做到开箱即用。
wean 是一个小程序打包工具,它负责将标准的微信小程序打包成 web 项目,如许做有很多好处:
- 小程序引擎:将打包产物跑到 APP webview 上,就可以成为专属小程序,如 “携程小程序”
- 开箱即用:更现代的标准,更短的开发链路,从某种程度上缓解微信小程序的历史包袱
- 跨双端:以保住微信为前提,一套代码,支持微信和 h5 两个端
wean 借助 fre 实现组件化的支持,借助 berial 实现路由和沙箱,不借助 webpack 等打包工具。
除了基本的编译打包,wean 实现了一些先辈特性:Tree shaking、Module federation、Hot reload,做更现代,更简洁的小程序子集。
运行项目:
$ npm install$ npm link$ wean -e app.js -o /dist/如果小程序工具导入 dist 目录,遇到 dist 缺少 app.json 和 sitemap.json 的报错,先手动将 demo 里的这两个文件拷贝到 dist 下,能跑起来再说。
剩下的只必要按照《微信小程序开发文档》开发即可。
值得注意的是,并非全部的微信小程序的特性都被支持,简单地说,wean 只支持 “现代特性”。
wean 的设计思路如下:
开源项目地点:https://github.com/ctripcorp/wean
开源项目组织:携程
微信公众号:「GitHub 精选」,值得你关注,每天都分享开源项目,发掘开源的价值。
文章首发于微信公众号「GitHub 精选」,欢迎大家关注。打开微信,利用 “搜一搜”,搜索「GitHub 精选」,即可关注。关注后,每天都会为您推送我们经心挑选的优质开源项目。 |