搜尋
首頁web前端Layui教程LayUI第三方外掛程式開發規範詳解

LayUI第三方外掛程式開發規範詳解

本規範一共四件事:1、規定插件的目錄使用,2、規定插件css樣式的前綴,3、規定插件的統一封裝,4、規定插件的引入方式。

一、目錄篇

先來一個目錄圖

LayUI第三方外掛程式開發規範詳解

#目錄結構說明(結合圖片理解)
mod_name代表插件名,author代表第三方作者

layui                       layui框架目录
├─ css                      layui官方样式目录
├─ font                     layui官方字体目录
├─ images                   layui官方表情目录
├─ lay                      layui官方模块目录
│
├─ mods                     layui插件目录
│  ├─ extend                项目开发者目录
│  │  ├─ mod_name           项目开发者mod_name插件的目录
│  │  │  ├─ mod_name.js     项目开发者mod_name插件本体
│  │  │  ├─ mod_name.css    项目开发者mod_name插件样式
│  │  │  └─ ...
│  │  └─ ...
│  │
│  ├─ author                第三方作者目录
│  │  ├─ mod_name           第三方mod_name插件的目录
│  │  │  ├─ mod_name.js     第三方mod_name插件本体
│  │  │  ├─ mod_name.css    第三方mod_name插件样式
│  │  │  └─ ...
│  │  └─ ...
│  └─ ...
│
├─ layui.all.js             一次性载入layui
└─ layui.js                 模块化载入layui

二、樣式篇

LayUI第三方外掛程式開發規範詳解樣式這裡我推薦大家用Scss來寫,保持一個好的嵌套是非常重要的。推薦看demo的umd3.scss常用的功能我都有涉及(demo見後記)。

為了防止不同的外掛程式作者產生樣式衝突,包括別的前端框架衝突。所以我們規定統一使用lay開頭,後面接著作者名,盡可能簡寫作者名[lay-vlice],然後再接樣式模組名,例如btn [lay-vlice-btn],現在你可以盡情的書寫你的樣式。如果你有很多插件,為了彼此之間不衝突,建議加上插件名,那麼最終的 class 就是[lay-vlice-umd-btn]。

這樣會導致 class 很長,一遍又一遍的寫同樣的 class 豈不是很煩。這就是我為什麼推薦用Scss的原因了。

三、封裝篇

我們原創的插件,或是第三方插件,會有三種情況:

1、原生js編寫的基礎插件(Vue.js等)

2、基於JQuery編寫的JQ外掛程式(Select2.js等)

#3、基於layui編寫的進階外掛程式(FormSelects.js等)。

這三種情況,UMD封裝都能支援。所以推薦大家都用UMD去寫入插件。

(1) 無前置類別UMD封裝寫入法- 原生js

LayUI第三方外掛程式開發規範詳解

#(2) 基於JQuery的UMD封裝寫入法- JQ外掛

LayUI第三方外掛程式開發規範詳解(3) 基於layui的UMD封裝寫入法- 高級插件

LayUI第三方外掛程式開發規範詳解#四、引入篇

我抽時間寫了個基於本規範的插件載入器,經過測試可以成功引入官方模組和第三方插件,但根據電腦效能和網路情況,會存在100-400毫秒左右的延遲。問題不大。在這裡我來教大家如何引入依照本規範開發的 LayUI 外掛。

首先你需要下載我的載入器 mods.js ,載入器放置在[layui/mods/mods.js] ,拿到手第一步,修改載入器裡面的list變數。

LayUI第三方外掛程式開發規範詳解

使用 layui.use 引入載入器。然後再mods中引入官方模組或是第三方插件,並且在加載器的回調中編寫業務代碼。詳情請看我寫的demo(在後記那裡下載)

layui.use('mods',function(mods){
    // umd2和umd3都是扩展插件,所以放到最后。
    mods(['layer','form','umd1','umd2','umd3'],function(layer,form,umd1){
        var $ = layui.$;

        layer.msg();
        form.render();
        umd1.func();
        $.umd2();
        $('body').umd2();

        // umd3扩展
        layer.maxopen();
    });
});

範例 https://cdn.vlice.cn/layui/layui-2.3.0.zip

#更多layui知識請關注layui使用教程欄。

以上是LayUI第三方外掛程式開發規範詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:fly社区。如有侵權,請聯絡admin@php.cn刪除
如何使用Layui的流塊模塊進行無限滾動?如何使用Layui的流塊模塊進行無限滾動?Mar 18, 2025 pm 01:01 PM

文章討論了使用Layui的流量模塊進行無限滾動,涵蓋設置,最佳實踐,性能優化和自定義,以增強用戶體驗。

如何使用Layui的元素模塊來創建選項卡,手風琴和進度條?如何使用Layui的元素模塊來創建選項卡,手風琴和進度條?Mar 18, 2025 pm 01:00 PM

本文詳細介紹瞭如何使用Layui的元素模塊來創建和自定義UI元素,例如選項卡,手風琴和進度條,突出顯示HTML結構,初始化和常見的陷阱,以避免。

如何自定義Layui旋轉木製模塊的外觀和行為?如何自定義Layui旋轉木製模塊的外觀和行為?Mar 18, 2025 pm 12:59 PM

本文討論了自定義Layui的Carousel模塊,重點介紹了外觀和行為的CSS和JavaScript修改,包括過渡效果,自動播放設置以及添加自定義導航控件。

如何使用Layui的旋轉木載模塊來創建圖像滑塊?如何使用Layui的旋轉木載模塊來創建圖像滑塊?Mar 18, 2025 pm 12:58 PM

該文章指導使用Layui的Carousel模塊用於圖像滑塊,詳細介紹設置的步驟,自定義選項,實現自動播放和導航以及性能優化策略。

如何將Layui的上傳模塊配置為限製文件類型和尺寸?如何將Layui的上傳模塊配置為限製文件類型和尺寸?Mar 18, 2025 pm 12:57 PM

本文討論了使用Accept,Exts和Size屬性來限制Layui的上傳模塊,以限製文件類型和尺寸,並自定義錯誤消息以違反。

如何使用Layui的圖層模塊來創建模態窗口和對話框?如何使用Layui的圖層模塊來創建模態窗口和對話框?Mar 18, 2025 pm 12:46 PM

本文介紹瞭如何使用Layui的圖層模塊創建模態窗口和對話框,詳細設置,類型,自定義和常見的陷阱要避免。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器