search
HomeWeb Front-endLayui Tutoriallayui packaging module tutorial

layui packaging module tutorial

Dec 10, 2019 pm 05:23 PM
layui

layui packaging module tutorial

layui is a very simple UI framework developed by Chinese people. It uses a modular loading method, so we inevitably need to add our own modules during use. This tutorial will teach you how to encapsulate it. A simple module.

Recommended: layui usage tutorial

In daily use, ajax can be said to be widely used, so here we add a module of our own to encapsulate ajax for easy use.

Note: Module loading requires server environment support, so before reading this tutorial, please set up a local server environment in your local area. This is not within the scope of this tutorial. Please Baidu yourself.

1. Build the project directory

First download the layui package from the layui website and place it in your own project. Here I use a brand new empty project. After adding layui, the directory structure As follows:

layui packaging module tutorial

2. Write module files

Now I create a new modules folder under the layui folder of plugin to save our own module files , create a new common.js file in this folder to write our first module. The content of the file is as follows:

layui.define(['jquery'], function(exports){ 
    var $ = layui.jquery;
    var obj = {
        ajax: function (url, type, dataType, data, callback) {
            $.ajax({
                url: url,
                type: type,
                dataType: dataType,
                data: data,
                success: callback
            });
        }
    };
    //输出接口
    exports('common', obj);
});

layui.define() method is the define module method of layui. This method receives 2 Parameters, the first parameter is the dependent module, here we see that we depend on jquery; the second callback method, here we define the content of the module, which is to provide those methods. As can be seen from the above, we define an obj object, which The object has an ajax method for calling jquery's ajax to perform our operations. If you are encapsulating other jquery plug-ins, just put the js code of the plug-in in the callback method of layui.define().

exports() is the output interface. This method also has two parameters. The first is the name of the output module, and the second is which object to output.

Now our module has been written. If we need to add methods later, just add methods to the obj object. Now our directory structure is as follows:

layui packaging module tutorial

3. Set the layui loading component directory module

After the module is written, we need to configure layui so that layui can find it For our module, generally this configuration is completed in our global js. Here I create a new global.js file under assets/js. The content of the file is as follows:

layui.config({
    base: '/assets/plugin/layui/modules/'      //自定义layui组件的目录
}).extend({ //设定组件别名
    common:   'common',
});

layui.config() is the configuration of layui Method, the base parameter represents the saving directory of our module. This directory is calculated from the access root directory of the website. As can be seen from the previous step, my module saving path is /assets/plugin/layui/modules/ folder ; extend defines our actual module name. The common before the colon in the above code represents the name of the module, which is the name we will use when loading the module in the future, and the 'common' after the colon represents the name of our module file, here In fact, it refers to the /assets/plugin/layui/modules/common.js file. We can omit the js suffix, and the suffix will be automatically added when loading.

4. Use the module

After the module is defined, we can use the module. Using the module is actually the same as using layui’s built-in module. Now let’s modify the project’s index.html file , in which I use the ajax method of the module to access an online translation interface. The file code is as follows:

<script src="assets/plugin/layui/layui.js"></script>
<script src="assets/js/global.js"></script>
<script>
    layui.use([&#39;common&#39;], function () {
        var common = layui.common;
        common.ajax(&#39;//route.showapi.com/32-9&#39;, &#39;post&#39;, &#39;json&#39;, {
            &#39;showapi_appid&#39;: 28043,
            &#39;showapi_sign&#39;: &#39;fd5ce066f69441bfa078c0ad16129b15&#39;,
            &#39;q&#39;: &#39;hello&#39;
        }, function (res) {
            alert(JSON.stringify(res));
        });
    });
</script>

Visit index.html and see the return result in the figure below, which proves that the module is successfully encapsulated.

layui packaging module tutorial

The above is the detailed content of layui packaging module tutorial. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:博客园. If there is any infringement, please contact admin@php.cn delete
How do I use Layui's flow module for infinite scrolling?How do I use Layui's flow module for infinite scrolling?Mar 18, 2025 pm 01:01 PM

The article discusses using Layui's flow module for infinite scrolling, covering setup, best practices, performance optimization, and customization for enhanced user experience.

How do I use Layui's element module to create tabs, accordions, and progress bars?How do I use Layui's element module to create tabs, accordions, and progress bars?Mar 18, 2025 pm 01:00 PM

The article details how to use Layui's element module to create and customize UI elements like tabs, accordions, and progress bars, highlighting HTML structures, initialization, and common pitfalls to avoid.Character count: 159

How do I customize the appearance and behavior of Layui's carousel module?How do I customize the appearance and behavior of Layui's carousel module?Mar 18, 2025 pm 12:59 PM

The article discusses customizing Layui's carousel module, focusing on CSS and JavaScript modifications for appearance and behavior, including transition effects, autoplay settings, and adding custom navigation controls.

How do I use Layui's carousel module to create image sliders?How do I use Layui's carousel module to create image sliders?Mar 18, 2025 pm 12:58 PM

The article guides on using Layui's carousel module for image sliders, detailing steps for setup, customization options, implementing autoplay and navigation, and performance optimization strategies.

How do I configure Layui's upload module to restrict file types and sizes?How do I configure Layui's upload module to restrict file types and sizes?Mar 18, 2025 pm 12:57 PM

The article discusses configuring Layui's upload module to restrict file types and sizes using accept, exts, and size properties, and customizing error messages for violations.

How do I use Layui's layer module to create modal windows and dialog boxes?How do I use Layui's layer module to create modal windows and dialog boxes?Mar 18, 2025 pm 12:46 PM

The article explains how to use Layui's layer module to create modal windows and dialog boxes, detailing setup, types, customization, and common pitfalls to avoid.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.