搜寻 / layui
遵循自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的编写形式,极低门槛,即拿即用。
Requires
- laravel/framework: >5.0
Requires (Dev)
- phpunit/phpunit: >4.0
This package is auto-updated.
Last update: 2024-09-29 05:08:37 UTC
README
经典模块化前端 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 吧!但愿她能成为你长远的开发伴侣,化作你方寸屏幕前的亿万字节!