fix: file lock
轻量级的渐进式小程序开发框架,专注于小程序原生开发,提供更好的工程化、代码复用能力,提高开发效率并改善开发体验。
极速上手,零配置,可无痛迁移。
框架优势
🖖 极速上手 无额外的学习门槛,可以完全使用原生的小程序语法开发。
零配置 标准项目无需任何配置,即可运行。
低成本 超低迁移成本,原生小程序可以马上在 @wxa/cli2 中跑起来。支持原生和 wxa 混杂开发,助力老项目逐步迁移。
@wxa/cli2
🚀 依赖分包算法 自研的依赖分包算法,帮助开发者充分的利用分包空间。
依赖分析 自动分析项目依赖,无需手动 copy 三方依赖到项目中。
全方位 提供小程序开发增强能力,譬如状态管理、表单校验等。
🤖 按需引入 任意第三方工具、组件库,随时安装使用,完美适配 weui, vant-weapp等组件库。
👽 多实例 一次性编译出多个三方项目或其他平台的小程序,如头条小程序。
More detail Documents
更完善的文档
使用 yarn 或 npm 全局安装
yarn
npm
npm i -g @wxa/cli2
极速新建项目
wxa2 create
启动开发环境
wxa2 build --watch
<script> import {App} from '@wxa/core'; @App export default class Main { globalData = { userInfo: 'Genuifx', } } </script> <config> { "pages": [ "pages/index" ] } </config> <style lang="scss"> page { width: 100%; height: 100%; } </style>
<script> import {Page, Mixins, Debounce} from '@wxa/core'; import fooMixin from '../mixins/foo.js'; //定义页面,添加Mixins @Page @Mixins(fooMixin) export default class Index { data = { formA: { org: 'fintech', name: 'wxa' } } async onLoad() { console.log('Hello World') } // 函数防抖 @Debounce(300) sumbitA(e) { console.log('submit success!'); } } </script> <config> { "navigationBarTitleText": "Hello Wxa" } </config> <template> <view class="page"> Hi, <input type="text" value="{{formA.name}}" /> <button bindtap="sumbitA">提交</button> </view> </template> <style lang="scss"> .page { width: 100%; height: 100%; display: flex; flex-direction: row; align-items: center; justify-content: center; } </style>
默认导出的方法将会自动调用小程序相应的 Page、 Component、 App 方法进行注册。
Page
Component
App
极速预览小程序
wxa2 cli --action preview
wxa 是一个 AOP 框架,主要使用 Decorator(运行时改写,拦截)和预编译实现框架功能。
使用 Decorator 实现了:
Fetch
Router
Eventbus
Mixins
Diff
Storage
SessionStorage
Lock
Debounnce
查看详细的 Class Decorators
预编译方面,实现了对小程序项目的依赖解析,利用依赖树对整个项目进行管理,以此为基础适配了npm、单文件开发、云开发、三方开发。开发语法方面支持最新的 ES*语法(包括 Async/Await)、Sass/Scss、Stylus,有需求的话可以适配更多语法。
社群二维码过期可联络
邮箱 junbiaoli@webank.com、iveswen@webank.com
项目负责人微信 szyshangzhiyuan (加好友请备注:wxa)
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
MIT
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
渐进式小程序开发框架
wxa.js
轻量级的渐进式小程序开发框架,专注于小程序原生开发,提供更好的工程化、代码复用能力,提高开发效率并改善开发体验。
极速上手,零配置,可无痛迁移。
框架优势
🖖 极速上手 无额外的学习门槛,可以完全使用原生的小程序语法开发。
@wxa/cli2中跑起来。支持原生和 wxa 混杂开发,助力老项目逐步迁移。🚀 依赖分包算法 自研的依赖分包算法,帮助开发者充分的利用分包空间。
🤖 按需引入 任意第三方工具、组件库,随时安装使用,完美适配 weui, vant-weapp等组件库。
👽 多实例 一次性编译出多个三方项目或其他平台的小程序,如头条小程序。
More detail Documents
更完善的文档
安装使用
使用
yarn或npm全局安装极速新建项目
启动开发环境
开发示例
app.wxa
pages/index.wxa
默认导出的方法将会自动调用小程序相应的
Page、Component、App方法进行注册。更完善的文档
极速预览小程序
技术特点
wxa 是一个 AOP 框架,主要使用 Decorator(运行时改写,拦截)和预编译实现框架功能。
使用 Decorator 实现了:
Fetch自动防重,自动队列管理的网络请求方法。Router简洁的 API、预加载特性。Eventbus跨页面,跨组件交互的简单方案。Mixins混合,跨页面、跨组件复用逻辑。Diff增量设置数据。Storage小程序持久化缓存数据。SessionStorage应用周期内缓存数据。Lock防止重复执行函数,前端防重利器。Debounnce防抖动。查看详细的 Class Decorators
预编译方面,实现了对小程序项目的依赖解析,利用依赖树对整个项目进行管理,以此为基础适配了
npm、单文件开发、云开发、三方开发。开发语法方面支持最新的 ES*语法(包括 Async/Await)、Sass/Scss、Stylus,有需求的话可以适配更多语法。wxa生态
社区微信群
社群二维码过期可联络
邮箱 junbiaoli@webank.com、iveswen@webank.com
项目负责人微信 szyshangzhiyuan (加好友请备注:wxa)
Contributors ✨
Thanks goes to these wonderful people (emoji key):
WZT
💻 🚧
biaodoit
💻 🚧
shangzy
💻 🚧
Min Huang
💻 🚧
lucaszhu
💻 🚧
hughliu
💻 🚧
FlyDaisy
💻 🚧
Zachary Kwan
💻
Alan Zhang
💻
hanzooo
💻
This project follows the all-contributors specification. Contributions of any kind welcome!
LICENSE
MIT