一套遵循原生态开发模式的 Web UI 组件库,采用自身轻量级模块化规范,极易上手,可以更简单快速地构建网页界面。
Go to file
2017-08-23 13:37:04 +08:00
dist Fix Bug 2017-08-22 12:44:28 +08:00
doc 2.0.0 2017-08-21 08:51:13 +08:00
examples 把预览例子迁移到 examples 目录 2017-08-23 12:29:22 +08:00
src Fix Bug 2017-08-22 12:44:28 +08:00
test 添加测试用例和测试配置 2017-08-23 12:29:47 +08:00
.gitignore 添加忽略测试覆盖率目录 2017-08-23 12:28:34 +08:00
.travis.yml 添加travis和saucelabs测试 2017-08-23 13:37:04 +08:00
bower.json 2.0.1 2017-08-22 10:56:53 +08:00
CHANGELOG.md 2.0.0 2017-08-21 08:51:13 +08:00
gulpfile.js 2.0.0 2017-08-21 08:51:13 +08:00
karma.conf.base.js 添加travis和saucelabs测试 2017-08-23 13:37:04 +08:00
karma.conf.sauce.js 添加travis和saucelabs测试 2017-08-23 13:37:04 +08:00
karma.conf.unit.js 添加travis和saucelabs测试 2017-08-23 13:37:04 +08:00
LICENSE 2.0.0 2017-08-21 08:51:13 +08:00
package.json 添加travis和saucelabs测试 2017-08-23 13:37:04 +08:00
README.md 2.0.0 2017-08-21 08:51:13 +08:00

layui

经典模块化前端UI框架


Layui 是一款采用自身模块规范编写的情怀型前端UI框架遵循原生HTML/CSS/JS的书写与组织形式门槛极低拿来即用。其外在极简却又不失饱满的内在体积轻盈组件丰盈从核心代码到API的每一处细节都经过精心雕琢非常适合界面的快速开发。Layui 首个版本发布于2016年金秋她区别于那些基于MVVM底层的UI框架却并非逆道而行而是信奉返璞归真之道。准确地说她更多是为服务端程序员量身定做你无需涉足各种前端工具的复杂配置只需面对浏览器本身让一切你所需要的元素与交互从这里信手拈来。

返璞归真

Layui 定义为“经典模块化”并非是自吹她自身有多优秀而是有意避开当下JS社区的主流方案试图以最简单的方式去诠释高效她的所谓经典,是在于对返璞归真的执念,她以当前浏览器普通认可的方式去组织模块!我们认为,这恰是符合当下国内绝大多数程序员从旧时代过渡到未来新标准的最佳指引。所以 Layui 本身也并不是完全遵循于AMD时代准确地说她试图建立自己的模式所以你会看到

  //layui模块的定义
  layui.define([mods], function(exports){
    
    //……
    
    exports('mod', api);
  });  
   
  //layui模块的使用
  layui.use(['mod1', 'mod2'], function(args){
    var mod = layui.mod1;
    
    //……
    
  });    

没错她具备AMD的影子又并非受限于commonjs的那些条条框框Layui认为这种轻量的组织方式比WebPack更符合绝大多数场景。所以她坚持采用经典模块化也正是能让人避开工具的复杂配置回归简单安静高效地撸一会原生态的HTML、CSS、JavaScript。

但是 Layui 又并非是Requirejs那样的模块加载器而是一款UI解决方案她与Bootstrap最大的不同恰恰在于她糅合了自身对经典模块化的理解。

快速上手

获得layui后将其完整地部署到你的项目目录或静态资源服务器你只需要引入下述两个文件

./layui/css/layui.css
./layui/layui.js //提示:如果是采用非模块化方式(最下面有讲解),此处可换成:./layui/layui.all.js

不用去管其它任何文件。因为他们(比如各模块)都是在最终使用的时候才会自动加载。这是一个基本的入门页面:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <title>开始使用Layui</title>
  <link rel="stylesheet" href="../layui/css/layui.css">
</head>
<body>
 
<!-- 你的HTML代码 -->
 
<script src="../layui/layui.js"></script>
<script>
//一般直接写在一个js文件中
layui.use(['layer', 'form'], function(){
  var layer = layui.layer
  ,form = layui.form;
  
  layer.msg('Hello World');
});
</script> 
</body>
</html>

如果你想采用非模块化方式(即所有模块一次性加载,尽管我们并不推荐你这么做),你也可以按照下面的方式使用:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <title>非模块化方式使用Layui</title>
  <link rel="stylesheet" href="../layui/css/layui.css">
</head>
<body>
 
<!-- 你的HTML代码 -->
 
<script src="../layui/layui.all.js"></script>
<script>
//由于模块都一次性加载,因此不用执行 layui.use() 来加载对应模块,直接使用即可:
;!function(){
  var layer = layui.layer
  ,form = layui.form;
  
  layer.msg('Hello World');
}();
</script> 
</body>
</html>  

阅读文档

从现在开始,尽情地拥抱 layui 吧!但愿她能成为你长远的开发伴侣,化作你方寸屏幕前的亿万字节!

相关

官网更新日志社区交流