前端组件库 ——LayUI 知识点大全(一)

简介: 教程来源 http://oplhc.cn LayUI是由国内开发者“贤心”于2016年推出的经典模块化前端UI框架,MIT开源。不依赖Vue/React等现代框架,零配置、低门槛、开箱即用,尤受后端开发者与中小项目青睐。2026年仍持续更新,最新版2.11+强化组件与工程化支持。

LayUI 是由国内开发者“贤心”于 2016 年创建的一款经典模块化前端 UI 框架,遵循 MIT 协议开源。在 Vue、React 等现代框架大行其道的今天,LayUI 依然凭借其“返璞归真”的设计理念、极低的学习门槛和开箱即用的丰富组件,在广大后端开发者、传统 Web 开发者以及中小型项目中占据着独特的地位。

LayUI 最大的特色在于它不依赖任何第三方工具或框架,采用自身轻量级模块化规范,让开发者只需面对浏览器本身,就能快速构建出美观、交互丰富、响应式的网页界面。正如其官网所言:“layui 定义为‘经典模块化’,并非是自吹她自身有多优秀,而是有意避开当下 JS 社区的主流方案,试图以最简单的方式去诠释高效”。

本文将从 LayUI 的核心理念入手,系统全面地介绍其模块化机制、UI 组件、交互模块及最佳实践,帮助读者从零基础快速上手,掌握这一“情怀型”UI 框架的精髓。

一、LayUI 概述

1.1 什么是 LayUI
LayUI 是一款“经典模块化”前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。它主要由两大部分构成:

UI 元素(视觉层):包含布局、颜色、字体图标、动画、按钮、表单、导航、表格、进度条、面板等大量纯 CSS 样式控制的界面元素。

JavaScript 模块(交互层):包含弹层(layer)、日期选择(laydate)、分页(laypage)、表格(table)、表单(form)、上传(upload)、树形组件(tree)、轮播(carousel)等丰富的动态功能模块。

很多开发者最初对 LayUI 望而却步的顾虑之一是“它是否已经过时?”实际上,LayUI 在 2026 年的今天依然拥有活跃的社区和持续迭代。虽然 2021 年官方曾发布官网下线的公告,但这并非项目停更,而是团队将重心转移至 Gitee 和 GitHub 的持续开发。2023 年 2.8.0 正式版发布,调整主色调为 #16baaa,优化构建流程并新增 18 个字体图标;2025 年至 2026 年初,2.10+ 至 2.11+ 版本引入了标准化的 component 模块构建器,全新设计了 tabs 标签页组件,并重构了 laytpl 模板引擎。

1.2 核心设计理念
“返璞归真” 是 LayUI 的核心哲学。它不随波逐流,不强制开发者使用复杂的工程化工具(如 Webpack、Vite),也不强绑定 MVVM 框架,而是回归到最原始的 Web 开发方式——在 HTML 文件中写结构,在 CSS 中定义样式,在 Script 标签里写交互。

这种理念特别适合以下几类人群:

后端开发工程师:无需深入前端工程化体系,即可快速搭建后台管理系统界面。

追求高效开发的创业者/个人开发者:省去配置打包工具的繁琐,专注于业务逻辑。

维护老旧项目的开发者:LayUI 的模块化方式可灵活嵌入任何传统 Web 项目中。

前端初学者:无需理解 npm、webpack 等复杂概念,打开一个 HTML 文件就能开始学习。

1.3 与其他主流框架的对比
image.png
1.4 三大组成部分
LayUI 由以下三大核心部分组成:

layui.js:核心模块加载器,也是各模块的入口。

layui.all.js:包含所有内置模块的打包文件(非模块化加载)。

layui.css:样式核心文件,依赖该文件才能正常显示样式。

二、模块化机制与配置

LayUI 最大的特色之一是其内置的轻量级模块加载器。这一点与必须借助 Webpack 或 RequireJS 的框架不同,LayUI 自带了一套模块定义和加载的规范。这使得开发者可以在不依赖任何第三方工具的情况下,轻松管理代码的依赖关系。

2.1 核心文件引入
使用 LayUI 时,只需在页面中引入两个核心文件:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- 1. 引入 LayUI CSS 样式文件 -->
  <link rel="stylesheet" href="/path/to/layui/css/layui.css">
</head>
<body>
  <!-- 页面内容 -->

  <!-- 2. 引入 LayUI JS 核心文件 -->
  <script src="/path/to/layui/layui.js"></script>
</body>
</html>

值得注意的是,LayUI 内置了 jQuery(但无需开发者手动引入),且其核心文件加载后,会根据需要自动按需加载其他模块的 JS 文件,这也是它体积轻盈的原因之一。

2.2 模块加载方式
LayUI 提供了两种主要的模块使用方式,以适应不同场景。

方式一:标准模块化加载(推荐)

这种方式遵循“按需加载”原则,通过 layui.use() 方法加载所需的模块,只有在回调函数中才能使用该模块的 API。它有利于减少初始加载的资源体积。

<script>
layui.use(['layer', 'form', 'table'], function(){
  // 注意:这里的参数名称必须与模块名称一致
  var layer = layui.layer;
  var form = layui.form;
  var table = layui.table;

  // 现在可以使用 layer 弹出层了
  layer.msg('Hello LayUI');

  // 使用 form 模块渲染表单(动态生成的表单需要重新渲染)
  form.render();
});
</script>

方式二:非模块化加载(一次性加载)

如果你觉得每次使用前都要 layui.use 很繁琐,LayUI 也提供了 layui.all.js 文件,它包含了所有内置模块。引入后可以直接使用 layui.模块名 调用 API。

<script src="/path/to/layui/layui.all.js"></script>
<script>
// 无需 use,直接使用
layui.layer.msg('Hello All');
</script>

2.3 模块定义与扩展
LayUI 允许开发者使用 layui.define() 方法定义自己的模块,这对于封装复用的业务组件非常有用。

// 自定义模块 mymodule.js
layui.define(['layer', 'form'], function(exports){
  var layer = layui.layer;

  var api = {
    showMsg: function(msg){
      layer.msg(msg);
    },
    showConfirm: function(msg, callback){
      layer.confirm(msg, {icon: 3, title: '提示'}, function(index){
        layer.close(index);
        if(callback) callback();
      });
    }
  };

  // 输出模块接口
  exports('mymodule', api);
});

// 页面中使用自定义模块
layui.use(['mymodule'], function(){
  var mymodule = layui.mymodule;
  mymodule.showMsg('自定义模块加载成功');
  mymodule.showConfirm('确定要执行此操作吗?', function(){
    console.log('用户点击了确定');
  });
});

2.4 全局配置
可以通过 layui.config() 方法对 LayUI 进行全局配置,例如设置模块的根目录、调试模式等。

layui.config({
  base: '/static/js/modules/',   // 自定义模块的存放路径
  version: '20260413',           // 版本号,可用于避免缓存
  debug: false                   // 调试模式,开启后模块加载失败会报错
}).extend({
  // 扩展自定义模块的别名,方便使用
  mymodule: 'modules/mymodule'
}).use(['layer', 'mymodule'], function(){
  var layer = layui.layer;
  var mymodule = layui.mymodule;
  // ...
});

来源:
http://fndvx.cn

相关文章
|
22天前
|
前端开发 JavaScript 开发者
前端组件库 ——LayUI 知识点大全(四)
教程来源 https://zlpow.cn LayUI 2.8+/3.0 支持 CSS 变量主题定制、深浅色切换;提供移动端专用版本;支持按需引入与模块化加载;可开发自定义模块及集成 ECharts 等第三方插件,兼顾简洁性与扩展性,适合快速构建后台系统。
|
前端开发 JavaScript Java
Layui之入门
Layui之入门
617 0
|
前端开发 开发者 容器
|
前端开发 JavaScript 数据安全/隐私保护
Layui之动态树(树形菜单)详解1
Layui之动态树(树形菜单)详解1
909 0
|
前端开发 网络安全
layui如何实现添加数据时关闭页面层,并实时刷新表格数据?
layui如何实现添加数据时关闭页面层,并实时刷新表格数据?
|
Linux iOS开发 MacOS
typora下载和破解(仅供学习)
Typora 一款 Markdown 编辑器和阅读器 风格极简 / 多种主题 / 支持 macOS,Windows 及 Linux 实时预览 / 图片与文字 / 代码块 / 数学公式 / 图表 目录大纲 / 文件管理 / 导入与导出 ……
167521 12
typora下载和破解(仅供学习)
|
22天前
|
前端开发 JavaScript 容器
前端组件库 ——LayUI 知识点大全(三)
教程来源 https://bncne.cn LayUI基础元素丰富实用:按钮支持多色、多尺寸及图标组合;图标为矢量字体,可自由缩放变色;表单模块集成验证与交互;layer弹层、table表格、laydate日期、upload上传等核心模块,让后台开发简洁高效。
|
1月前
|
前端开发 JavaScript API
前端组件库Layui知识点大全(一)
教程来源 https://hllft.cn/category/artificial-intelligence.html Layui是由国内开发者“贤心”于2016年推出的开源前端UI框架,秉持“返璞归真”理念,不依赖Webpack等工程化工具,基于原生HTML/CSS/JS与轻量模块化规范,专为后端开发者、初学者及追求高效开发的群体设计,低门槛、拿来即用。
|
22天前
|
前端开发 开发者 容器
前端组件库 ——LayUI 知识点大全(二)
教程来源 https://tmywi.cn LayUI提供灵活的布局系统,含固定宽(layui-container)与自适应宽(layui-fluid)两种容器;栅格基于12列响应式设计,支持多端适配(xs/sm/md/lg)、列偏移、列间距等功能,助力快速构建现代化页面结构。
|
2月前
|
人工智能 弹性计算 监控
阿里云OpenClaw养虾Tokens不够用怎么办?企业万亿Tokens扶持与7000万Tokens免费体验活动介绍
阿里云推出企业万亿Tokens扶持计划和7000万Tokens免费体验活动,前者提供阶梯返现优惠,降低企业大模型使用成本,后者则降低大模型体验门槛。企业可分阶段用好免费Tokens,优化提示词,并结合其他云产品优惠降低成本。阿里云政策践行“AI普惠”,助力产业智能化。