検索
ホームページウェブフロントエンドライユイのチュートリアルlayuiプロジェクトで関数layui.defineを使用する方法の紹介

layuiプロジェクトで関数layui.defineを使用する方法の紹介

前書き:

1.layui.define を深く理解し、適切に使用している場合、この記事は時間の無駄です。

2.「JavaScript モジュール開発」について聞いたことがなく、ましてや理解したことがない場合。それから、まずインターネットで「JavaScript モジュラー開発」とは何なのかを検索することをお勧めします。これは、後で説明する内容を理解するために非常に重要です。もちろん、この本の著者の概念をよりよく理解するのにも役立ちます。ライユイは表現したいと思っています。

推奨: layui フレームワーク チュートリアル

Layui を使用するとき、よく

layui.use([], function(){})

を使用しますが、注意深い友人は、layui には別の関数があることに気づくでしょう。 layui.define と呼ばれます。これは何に使用されますか?

私たちは以前、次のようなコードのような、モジュール化の概念を持たないコードを記述していました。

function entry(type) {
  if (type === 1) { handle1() }
  else if (type === 2) { handle2() }
  else { handleall() }
}

function handle1(){}
function handle2(){}
function handleall(){}

長期にわたる実践により、プログラマは JavaScript のモジュール化が不可欠であることを理解するようになりました。モジュール化の実現に関しては、企業ごとに独自の考え方や実装が存在します。彼らは考えられるすべての問題を考慮しているため、そのモジュール性を使用する必要がある複雑な構成も生じます。

layui は独自の読み込み方法を採用しており、他のモジュール実装と比較して比較的軽量です。独自のモジュール性を実現するために定義および使用する 2 つのコア関数がありますが、場合によっては混乱を招く可能性があります。会社の友人が使用中に「layui の定義関数は使用関数と似ていると思うのですが、どうすれば正しく使用できますか?」と尋ねました。

layui ドキュメントに記載されているように、関数layui.define はコンポーネントを拡張するために使用されます。関数の使用は、このコンポーネントをロードして使用することです。しかし、どのような種類のコードがコンポーネントとしてカウントされるのでしょうか? 拡張コンポーネントのページでは、優れた作成者が結果を共有していることも確認できます。しかし、これらのコンポーネントにはすべて、ビジネスに関与していないという共通点があることがわかります (これはナンセンスではありません。ビジネスを行う人が使用する場合)。

つまり、ビジネスが設計されると、それはコンポーネントではなくなりますが、この時点で名前をインターフェースに変更できます。そうすれば、関数の定義と使用の違いが理解しやすくなります。関数定義はコンポーネントまたはインターフェイスを定義することであり、関数使用はそれらのコンポーネントまたはインターフェイスを使用することです。他の人に使用してもらいたいコンポーネントまたはインターフェイスを作成する場合は、関数 define を使用しますが、関数が内部実行のみであり、他の人が呼び出す必要がない場合は、関数 use を使用します。

この時点で、この 2 つの違いを明確に理解できれば、次のアーキテクチャを持つ単純な Layui プロジェクトがより明確になるはずです。

まず、ここから簡単な構築プロジェクト layui.test.project をダウンロードする必要があります。

次に、ツールを使用してプロジェクトを開くと、ファイル ディレクトリがはっきりと確認できます。

layuiプロジェクトで関数layui.defineを使用する方法の紹介

ここでは、index.single.html に表示されている多数のlayui.defineが使用されています。ここでは、layuiのcdnを設定し、グローバルlayuiパラメータを設定します。そして最後に、私たちが使用するビジネススクリプトです。

layui.config.js を開くと、内容がはっきりとわかります。2 つのコンポーネント (名前に注意してください) を定義しました。これらにはビジネス ロジックがありません。そこで、これを lib フォルダーに配置しました。このフォルダーは、ビジネス以外のパブリック コンポーネントを保存するために使用されます。よく使うので事前に設定しておきました。

次に、エントリ スクリプト main.single.js に進みます。これは、layui 独自のモジュール jquery と form、および先ほど定義したモジュール ロガーなどを使用します (これらは他のモジュールにエクスポートしないため)。使用するので、関数使用を使用します。その中に、簡単なテストロジックを作成しました。

次に、ここでは api、const、utils がまったく使用されていないことに気づくかもしれません。

api 名前は、バックエンド インターフェイスでの処理を提供することを意味します。layui には jquery が付属しているため、jquery.ajax を使用してバックエンド インターフェイスを呼び出します。コールバック関数は一部の初心者にとって悪夢である場合があります。チェーン内で呼び出すことができる jquery の deffer オブジェクトを使用します。

ここでは jquery.ajax をカプセル化していないため、エラー処理とトークン搬送の統一された処理がなく、目に見えないワークロードをロードするため、jquery.ajax をカプセル化するインターフェイスを追加する必要があります。ここでもう一度定義します。コンポーネントlayui.ajax.js

constには定数が格納されます。ここでは、キーワードresponse.jsがインターフェイスを返すように設定されています。もちろん、これはシミュレーション用です。フロントエンドとバックエンドについては十分に議論されており、プロジェクトに直接記述することもできます。

utils にはツール クラスが保存されており、よく使用される変換時間と変換 URL をここに記述できます。

これら 3 つのフォルダーは他のビジネス ページを支援するように構成されているため、基本的にすべて遅延読み込み呼び出しを使用します。これらは関数の定義から始まり、最後に外部呼び出しのインターフェイス名をエクスポートします。事前設定が必要な lib とは異なり、使用する場合は自分で再設定する必要があります。例として utils の読み込みを示します。

layui.extend({
  utils: '/path/to/utils/index'
}).use(['utils'], function(){
  var utils = layui.utils
  // ...
})

注意: 如果你使用ftl,jsp,apsx这些由后台渲染的页面引擎,应该会有一个公共的头部,那么刚刚的全局配置 layui 文件 layui.config.js,你可以在公共的头部加入。

以上がlayuiプロジェクトで関数layui.defineを使用する方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はfly社区で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール