Skip to content

ninetowns/wx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wx

这是什么

  • wx可以被翻译成很多版本,比如我擦、我X等等,叫什么都行,随你喜欢。
  • wx是基于jQuery的一套类库或框架,那到底是类库还是框架呢? 首先,它不像underStore只提供一些工具方法,其次,又不像YUI有那么多限制有那么多规则要学。所以你叫它类库也行框架也行,随你喜欢。

为什么需要它

  • 既然依赖于jQuery那还不够吗? 当然不够!因为jQuery只提供一些基础方法,而往往我们的需求远不止这些,这也就是为什么会那么多jQuery扩展的原因,与其搞那么多扩展不如把它们集合起来,统一管理。
  • 大部分控件总是或多或少的需要些js支持,但这对于非js程序员来说简直是噩梦,各种繁多的参数,不同的调用形式使他们困惑不已,稍出问题就如临大敌,而且部分从网上抄下来的控件版本过老,很多都已经 停止更新,这有悖于当前的web发展。
  • wx提供的控件均使用节点声明方式,能在不写一句js代码的情况下完成80%工作,既减少了错误率又降低了难度。
  • 所有控件均使用AOP方式编写,调用方便,使用灵活。

如何使用

  • 把wx.js放在页头或页尾。wx将根据页面上第一个script的src解析静态文件地址,若解析有错误,可在加载wx后面写明路径<script>wx.config.baseUrl=""</script>
  • 配置wx.config.js文件。
  • 当第一次访问页面时会下载wx.config.js文件并进行相应配置,此后config会被永久缓存,除非更改wx.js中的版本号后会再次下载 。也可以将config放在wx后面一同加载,但推荐使用第一种

你说什么

1、为什么不使用当前流行的模块加载方式?

  • 首先,使用模块化加载都需要手写define加载然后再处理而wx的控件能在不写一句js的情况下满足80%的需求,比如文件上传控件<input name="image" type="file" wx-upload>仅需要在input元素上绑定一个标签就会自动下载依赖js并绑定事件,程序员并不需要知道要下载的是什么js就可以完成工作,简单方便,而且不会出错。
  • 其次,wx的所有控件都只依赖于主文件,不会出现A依赖B,B依赖C的问题,颗粒化也不会那么细,所以,没有必要再实现一套模块加载机制,当然,模块加载是趋势,wx也会在后续版本中加入以为调用开源控件提供方便。

2、为什么还需要一个config配置文件? 直接都写在wx里不行吗?

  • 可以。如果你只需要支持一个项目或网站完全可以这么做,但如果是要支持多个网站,它们的配置势必不同,当然也可以使用grunt等工具进行发布前的预编译合并成一个js,但如果把工具放在本地,每次调试前都需要编译这太麻烦了,如果放在服务器端当想修改时又不够灵活,所以使用配置文件方式是一个权衡方案,况且此配置文件在支持localStorage的浏览器里只会下载一次,并不会影响性能。

更多详情,请查看wiki

About

前端框架

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 89.7%
  • ActionScript 6.4%
  • CSS 3.9%