コンポーネントベースのフロントエンド開発プロセスの詳細な説明

コンポーネントベースのフロントエンド開発プロセスの詳細な説明
背景<br />フロントエンドを担当する学生は、ページが多すぎると煩雑になるため、開発プロセスを統一する必要があることを知っています。開発プロセスの品質は、ページ開発の効率に直接影響し、間接的にゲームの期間に影響します。

開発プロセスの目標<br />ページを迅速に完成できます。
コンポーネント化により、コードの再利用が保証され、作業の重複を回避できます。
ページがオンラインになった後も効率的に実行できることを確認します。

開発プロセスの範囲<br />ファイル保存標準。
コードの組織構造とコーディング標準。
リリース戦略。
プロセス全体をサポートするために必要な開発ツール。
各チームには独自の開発プロセス仕様があります。実際のところ、最良のプロセス仕様というものは存在せず、最も適したものだけが存在します。以下に、複数のチームの開発プロセスを基に、概要をまとめた一般的な開発プロセス仕様書を紹介します。

フォルダーの指定<br />プロジェクト フォルダーが p/ であると仮定します。このフォルダには以下が含まれます:
p/assets/ 開発ツールを格納します
p/dev/ は開発中のプロジェクトファイルを保存します
p/dpl/はプロジェクトの共通コンポーネントライブラリを保存します
p/release/ にはリリースされたプロジェクトファイルが保存されます (ここにあるファイルはすべて圧縮されています)
p/dev/ の構造は次のとおりです
p/dev/website1/public/ サイト全体で共有されるプロジェクト(サイト全体で共有されるファイルを保存)
p/dev/website1/project1/ プロジェクト 1
p/dev/website1/project2/ プロジェクト 2
....
各プロジェクト内の構造は次のとおりです。
p/dev/ウェブサイト1/プロジェクト1/ページ1.html
p/dev/website1/project1/assets/page1.js
/dev/website1/project1/assets/page1.css
p/dev/ウェブサイト1/プロジェクト1/アセット/画像/
p/dev/ウェブサイト1/プロジェクト1/include/ページ1.inc
p/dpl/ 内の構造は次のとおりです
p/dpl/system/ システム js モジュール
p/dpl/controls/ UI モジュール
p/dpl/widgets/ ビジネス コンポーネント 各フォルダーの構造は次のとおりです。
p/dpl/システム/カテゴリ1/コンポーネント1.html
p/dpl/システム/カテゴリ1/アセット/コンポーネント1.js
p/dpl/システム/カテゴリ1/アセット/コンポーネント1.css
p/dpl/システム/カテゴリ1/アセット/画像/
p/release/ 内の構造は次のとおりです。
オンラインファイルの仕様によっては、p/dev/ と同じになることもあります。

コンポーネントベースの開発実装
1. サイト全体で使用されるJSとCSS
サイト全体で使用される js と css は、ツールを使用して p/dpl/ からいくつかのコンポーネントを選択して合成されます。 p/dev/website1/public/assets/common.js (または.css) に配置します。
2. サイト全体で共有されていないJSとCSS
次のコードを使用して、コンポーネントを Web ページに読み込むことができます。
?using("System.Category1.Component1");
var comp1 = 新しい Component1();
このうち、System.Category1.Component1 は p/dpl/system/category1/assets/component1.js (または .css) にマッピングされます。
開発状態では、 を使用するとコンポーネントが同期的に読み込まれます。ページが公開されると、 は、動的な読み込みを必要とせずに、対応するコンポーネントのソース コードに置き換えられます。
3. jsとcssの非同期読み込み
プロセス自体は、コンポーネントを非同期にロードする機能を提供しません。プロジェクトでサードパーティのモジュール ローダーを使用して、非同期ロードを実装できます。
4. HTML の再利用<br />HTML ファイルに include("include/topbar.inc") と記述して、対応する HTML フラグメントをページに埋め込みます。

ページの公開<br />ページの公開では主に次のことが行われます。
インラインの include や using などにより、ページ リクエストの数を減らします。
js と css を圧縮します。
実際のプロジェクトのニーズに合わせてファイルの場所を再変更します(たとえば、js と css を抽出し、html をフィルター処理する必要がある場合)

<<:  変換を使用して純粋な CSS ポップアップ メニューを実装するためのサンプル コード

>>:  DockerでKafkaをデプロイする方法

推薦する

CSS スティッキー配置位置の詳細な説明: スティッキー問題の落とし穴

前書き: position:sticky は CSS ポジショニングの新しい属性です。相対ポジショニ...

Windows での MySQL 5.7.18 インストール チュートリアル

この記事では、圧縮パッケージから MySQL をインストールする方法について説明します。 1. My...

プロセスのすべての情報を表示するLinuxメソッドの例

サーバー上にタスク プロセスがあります。 ps -ef | grep task を使用して表示すると...

Win10 の Linux サブシステムを有効にする方法を説明します (詳細な画像とテキスト付き)

今日は、Windows 10 で Linux サブシステムを有効にする方法を紹介します。早速、手順を...

Nginx で limit_req_zone を使用して同じ IP へのアクセスを制限する方法

Nginx は、ngx_http_limit_req_module モジュールの limit_req...

ネイティブJSで様々なモーションの複合モーションを実現

この記事では、ネイティブ JS で実装された複合モーションを紹介します。複合モーションとは、異なる属...

React 手書きタブ切り替え問題

親ファイル React をインポートし、{useState} を 'react' か...

JavaScript 組み込みの日付と時刻の書式設定のサンプル コード

1. 基礎知識(日付オブジェクトのメソッド) 😜 getFullYear() は年を表す4桁の数字を...

IE6 ウェブページ作成リファレンス IE6 デフォルトスタイル

これは実際には IE の公式ドキュメントではありません。他の人が実践を通じて開発した IE6 のデフ...

中央のテキストの両側に水平線を描くためのCSS

1. vertical-align プロパティは次の効果を実現します。 vertical-alig...

VMware Workstation 14 Pro(仮想マシン)にシステムをインストールする方法の詳細な説明

この記事では、VMware Workstation 14 Pro (仮想マシン) にシステムをインス...

CentOS7でパーティションのサイズを変更する方法

昨日、ある人のシステムのインストールを手伝ったのですが、自動パーティション分割をクリックするのを忘れ...

JavaScript でネットワーク速度をテストする方法

目次序文ネットワーク速度のフロントエンド判定原理のまとめ1. img を読み込むか Ajax リクエ...

echartsマップカルーセルハイライトを解決するための記事

目次序文やることリストやるだけ地図を準備するインスタンスをバックアップ用に保存するタイマーカルーセル...