wxa.js 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
wxa.js 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 MIT
开发语言 JavaScript
操作系统 跨平台
软件类型 开源软件
开发厂商
地区 国产
提 交 者 微众开源
适用人群 未知
收录时间 2020-09-22

软件简介

wxa.js 是一个轻量级的渐进式小程序开发框架,专注于小程序原生开发,提供更好的工程化、代码复用能力,提高开发效率并改善开发体验。极速上手,零配置,可无痛迁移。

wxa 框架优势

  • 真正零成本接入

原生小程序无需修改,即可使用 wxa 构建。当然,如果您愿意使用 wxa 提供的语法,则立马能享受到原生小程序中享受不到的顺滑体验,譬如状态管理、表单校验等。超低迁移成本,原生小程序只需安装好依赖就可以马上在 @wxa/cli2 中跑起来。支持原生和 wxa 混杂开发。

  • 强大的依赖分析算法

自研的依赖分析算法,支持分包、最大限度减少代码包体积。这不但能加快小程序速度,而且开发者再无需人工删减项目中多余的代码及图片等文件。

  • 优秀的组件化及工程化能力

任意第三方组件库,随时安装即可使用,完美适配 weui,vant-weapp, wux-weapp, iview-weapp 等组件库。NPM 依赖,打包、编译、压缩资源文件全解析,让你高效优雅地开发小程序。

  • 满足多端兼容需求

允许一次性编译出多个三方项目或其他平台的小程序,如头条、QQ 小程序。10 月版本更新将适配支付宝、百度小程序。

wxa 技术特性

wxa 基于 AOP 的思想,使用装饰器(运行时改写,拦截)和预编译等手段在不侵入小程序基础接口的前提下提供开发增强能力,按需引入,即插即用。专注于小程序原生开发,既保留小程序简单入门、快速开发的特点,同时提供一系列能力,解决工程化、代码复用的痛点,提高开发效率并改善开发体验。

  • Fetch 队列管理网络请求,单个请求自动防重;

  • Router 简洁的 API、预加载特性;

  • Lock 防止重复执行函数,前端防重利器;

  • Debounnce 防抖动;

  • Mixin 混合代码,代码复用;

  • watch、computed 数据监听与计算属性。

预编译过程中,实现了对小程序项目的依赖解析树的构建,利用依赖树对整个工程进行管理,以此为基础适配了 NPM、单文件开发、云开发、三方开发、多构建等。开发语法方面支持最新的 ES* 语法(包括 Async/Await)、Sass/Scss、Stylus,可根据开发习惯注入更多的语法支持。

学习及接入成本

标准项目无需任何配置即可运行,没有额外的学习门槛,能够完美的贴合使用原生小程序语法开发。良好的原生兼容,使原有的小程序项目在不改动代码的情况下,能快速迁移接入到 wxa ,只需要稍加配置,旧的小程序项目就可以顺滑享受 wxa 提供的便利。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (2)

加载中
牛逼,就喜欢渐进式。
09/27 16:29
回复
举报
又双叒叕一个框架~~~
09/27 15:25
回复
举报
更多评论
发表于大前端专区
09/22 16:32

渐进式小程序开源框架 wxa.js v2.2.9 版本发布

极速上手,零配置,可无痛迁移。提供更好的工程化、代码复用能力,提高开发效率并改善开发体验。 微信发布小程序后,微众银行众多业务都出现了小程序开发的需求。当时,小程序官方无法提供有效的工程化能力支持, 由于小程序架构上与 Web 端开发割裂,无法直接享受 Web 端现有的技术,经常需要开发手工 Ctrl+C,V ,并且还...

11
34
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2018/04/28 23:11

[js]javascript索引

js&jq总结的还是挺棒的: http://www.cnblogs.com/yuanchenqi/articles/5980312.html http://www.cnblogs.com/yuanchenqi/articles/6070667.html 我学了很久没把js学会, 我发现我的路子错了, 一开始就追求大而全.....累死... 好办法应该是迭代式更新知识点.... ECMAScript(4,5) 目前学的是es5 es6其实是ECMAScript 2015. ...

0
2
发表了博客
2019/08/30 13:29

JavaScript(js)笔记

js注释 JavaScript注释与Java注释相同 // 单行注释 /* 多行注释 */ js五大基本类型:   number(数值型)、string(字符串性)、boolean(布尔型)、undefined类型、null类型 number包括:数值类型、包含整型、浮点型、NaN和Infinity(无穷大)。 关于数组的空间长度问题:   如何获取数组的空间长度:    ...

0
1
发表了博客
2019/06/05 00:00

JS|JavaScript库

欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。 问题描述 在使用JavaScript的时候,为了更加方便快捷的完成一些项目,通常会引用一些框架...

0
0
2014/11/07 14:33

js 封装 js

define(['jquery'], function($) { var orderSummary = { $el: $('.summary-totals'), updateUrl : '../checkout/orderSummaryContentJson.jsp', cartRemoveUpdateUrl : '../cartridges/cart/subTotalContainer.jsp', orderComfirmSummaryUrl : '../checkout/orderReviewInfoSummaryContainer.jsp', bindChange : functi...

0
0
发表了博客
2014/09/26 16:08

Javascript---Javascript简介

Javascript学习记录 读Javascript高级程序设计(3版)记录

0
1
发表了博客
2019/04/02 15:17

浅谈JS之text/javascript和application/javascript

问题描述: JS在IE8以下浏览器运行异常 代码: <script>标签是这样子写的: <script type="application/javascript"> //执行语句 </script> 这是书写的时候Dreamweaver自动补全的。但是在自己运行的例子中我的script标签写的是: <script type="text/javascript"> //执行语句 </script> 将项目中的标签type属...

0
0
发表了博客
2019/10/04 14:59

javaScript(引入外部js/补充js)

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"></script> <!--一般js都是使用外部引用(共用性好)--> <scr...

0
0
发表了博客
2019/03/26 11:22

JS 有趣的JS

一、 var arr = []; for (var i = 0; i < 3; i++) { arr[i] = function() { console.log(i+'__') // 3 3 3 } } arr[0](); arr[1](); arr[2](); 执行上下文 for循环开始时,i 作为一个全局变量,每次循环都将 function 放进 arr,但 function 没有执行 循环结束,全局变量 i 的值已经变...

0
0
发表了博客
2018/09/04 17:47

JS(JavaScript)初始

day43 JS初识 今日内容: HTML: 文档结构 CSS: 修改文档的外观样式 JS:实现页面上的动态 JS文件的引入方式:   1.script标签内写代码 <script> //在这里写你的代码 </script>   2.引入额外的JS文件 <script src="myscript.js"></script>   3.注释(注释是代码之母) // 这里是单行注释 /* 这里是多行注释 ...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
2 评论
40 收藏
分享
返回顶部
顶部