検索
ホームページウェブフロントエンドhtmlチュートリアルフロントエンド モジュール マネージャーの概要_html/css_WEB-ITnose

ウェブサイト開発ではモジュール構造が主流になりました。

ウェブサイトを作る主なタスクは、もはや自分でさまざまな機能を書くことではなく、さまざまなモジュールをどのように組み合わせるかです。

ブラウザ自体はモジュール管理メカニズムを提供していないため、各モジュールを呼び出すために、Web ページに大量のスクリプト タグを追加する必要がある場合があります。これにより、Web ページが肥大化して保守が困難になり、大量の HTTP リクエストが生成されるため、表示速度が低下し、ユーザー エクスペリエンスに影響を与えます。

この問題を解決するために、フロントエンドモジュールマネージャー(パッケージ管理)が登場しました。さまざまな JavaScript スクリプトの依存関係を簡単に管理し、各モジュールを自動的にロードして、Web ページの構造を明確かつ合理的にすることができます。今後、すべてのフロントエンド JavaScript プロジェクトはこの方法で開発されるべきであると言っても過言ではありません。

最も初期で最も有名なフロントエンド モジュール マネージャーは、他でもない RequireJS です。 AMD フォーマットを使用し、さまざまなモジュールを非同期的にロードします。具体的な使い方については、私が書いたチュートリアルを参照してください。 Require.js の問題は、さまざまなパラメーターの設定が煩雑で、学習が難しく、完全に習得するのが難しいことです。さらに、実際のアプリケーションでは、サーバー側ですべてのモジュールをマージし、均一にロードする必要があることが多く、これにより多くの作業負荷が追加されます。

今日は、他の 4 つのフロントエンド モジュール マネージャー、Bower、Browserify、Component、Duo を紹介します。それぞれに独特の特徴があり、Require.js の欠点をうまく補っており、フロントエンド開発にとって強力なツールです。

この記事はこれら 4 つのモジュール マネージャーのチュートリアルではないことに注意してください。読者が全体的な印象を持ち、特定の種類の作業を完了できる特定のツールがあることを知っていただけるように、最も簡単な例を使用してそれらの用途を説明したいと思います。詳しい使用方法については、それぞれのドキュメントを参照してください。

Bower

Bower の主な機能は、モジュールのインストール、アップグレード、削除のための統合された保守可能な管理モデルを提供することです。

まずはBowerをインストールします。

  $ npm install -g bower

次に、bower install コマンドを使用して、さまざまなモジュールをインストールします。ここではいくつかの例を示します。

  # 模块的名称  $ bower install jquery  # github用户名/项目名  $ bower install jquery/jquery  # git代码仓库地址  $ bower install git://github.com/user/package.git  # 模块网址  $ bower install http://example.com/script.js

いわゆる「インストール」とは、モジュール (およびその依存モジュール) を現在のディレクトリの bower_components サブディレクトリにダウンロードすることを意味します。ダウンロードしたら、Web ページに直接挿入できます。

  <script src="/bower_componets/jquery/dist/jquery.min.js">

モジュールの更新には Bower update コマンドを使用します。

  $ bower update jquery

モジュール名が指定されていない場合は、すべてのモジュールが更新されます。

モジュールのアンインストールには Bower uninstall コマンドを使用します。

  $ bower uninstall jquery

デフォルトでは依存モジュールも一緒にアンインストールされることに注意してください。たとえば、jquery-ui をアンインストールすると、jquery に依存する他のモジュールがない限り、jquery も一緒にアンインストールされます。

Browserify

Browserify自体はモジュールマネージャーではなく、サーバーサイドのCommonJS形式モジュールをブラウザ側で実行できるようにするだけです。これは、これを通じて Node.js の npm モジュール マネージャーを使用できることを意味します。したがって、実際には、npm の機能を間接的にブラウザーに提供します。

まず、Browserifyをインストールします。

りぃ

それではサーバーサイドスクリプトを書きます。

  $ npm install -g browserify

上記コードのuniqモジュールはCommonJS形式なのでブラウザでは実行できません。この時点で、Browserify が登場し、上記のコードをブラウザ スクリプトにコンパイルします。

  var uniq = require('uniq');  var nums = [ 5, 2, 1, 3, 2, 5, 4, 2, 0, 1 ];  console.log(uniq(nums));

生成されたbundle.jsはWebページに直接挿入できます。

  $ browserify robot.js > bundle.js

Browserify がコンパイルされると、スクリプトが依存するモジュールも一緒にコンパイルされます。つまり、複数のモジュールを 1 つのファイルに結合できます。

コンポーネント

コンポーネントは、Express フレームワークの作者である TJ Holowaychuk によって開発されたモジュール マネージャーです。その基本的な考え方は、Web ページに必要なさまざまなリソース (スクリプト、スタイル シート、画像、フォントなど) をコンパイルし、それらを同じディレクトリ (デフォルトはビルド ディレクトリ) に配置することです。

まずコンポーネントをインストールします。

  <script src="bundle.js"></script>

上記のコードでコンポーネントのバージョンを指定する必要があるのは、バージョン 1.0 がまだ正式にリリースされていないためです。

次に、プロジェクトのルートディレクトリに新しいindex.htmlを作成します。

  $ npm install -g component@1.0.0-rc5

上記コードのbuild.cssとbuild.jsがComponentで生成される対象ファイルです。

次に、プロジェクトのルートディレクトリにプロジェクト構成ファイルとして新しいcomponent.jsonファイルを作成します。

  <!DOCTYPE html>  <html>    <head>      <title>Getting Started with Component</title>      <link rel="stylesheet" href="build/build.css">    </head>    <body>      <h1 id="Getting-Started-with-Component">Getting Started with Component</h1>      <p class="blink">Woo!</p>      <script src="build/build.js"></script>    </body>  </html>

上記のコードでは、JavaScriptスクリプトとスタイルシートを指定する元のファイルはindex.jsとindex.cssで、スタイルシートは正規化モジュールに依存しています(バージョン3.0.0以上、バージョン以下) 4.0)。ここで注意していただきたいのは、Componentモジュールの形式は「githubのユーザー名/プロジェクト名」ということです。

最後にコンポーネントビルドコマンドを実行してファイルをコンパイルします。

  {    "name": "getting-started-with-component",    "dependencies": {      "necolas/normalize.css": "^3.0.0"    },    "scripts": ["index.js"],    "styles": ["index.css"]  }

コンパイル中に、コンポーネントは自動的に autoprefixer を使用してブラウザーのプレフィックスを CSS プロパティに追加します。

現在、Component は半年近くコードリポジトリが変更されていない状態のようです。公式も次に紹介する Duo の使用を推奨しています。

デュオ

  Duo是在Component的基础上开发的,语法和配置文件基本通用,并且借鉴了Browserify和Go语言的一些特点,相当地强大和好用。

  首先,安装Duo。

  $ npm install -g duo

  然后,编写一个本地文件index.js。

  var uid = require('matthewmueller/uid');  var fmt = require('yields/fmt');    var msg = fmt('Your unique ID is %s!', uid());  window.alert(msg);

  上面代码加载了uid和fmt两个模块,采用Component的"github用户名/项目名"格式。

  接着,编译最终的脚本文件。

  $ duo index.js > build.js

  编译后的文件可以直接插入网页。

  <script src="build.js"></script>

  Duo不仅可以编译JavaScript,还可以编译CSS。

  @import 'necolas/normalize.css';  @import './layout/layout.css';    body {    color: teal;    background: url('./background-image.jpg');  }

  编译时,Duo自动将normalize.css和layout.css,与当前样式表合并成同一个文件。

  $ duo index.css > build.css

  编译后,插入网页即可。

  <link rel="stylesheet" href="build.css">

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTMLのブール属性とは何ですか?いくつかの例を挙げてください。HTMLのブール属性とは何ですか?いくつかの例を挙げてください。Apr 25, 2025 am 12:01 AM

ブール属性は、値なしでアクティブ化されるHTMLの特別な属性です。 1.ブール属性は、無効化された入力ボックスを無効にするなど、存在するかどうかによって、要素の動作を制御します。 2.彼らの実用的な原則は、ブラウザが異なっているときに属性の存在に応じて要素の動作を変更することです。 3.基本的な使用法は、属性を直接追加することであり、高度な使用法はJavaScriptを介して動的に制御できます。 4.一般的な間違いは、値を設定する必要があると誤って考えており、正しい執筆方法は簡潔にする必要があります。 5.ベストプラクティスは、コードを簡潔に保ち、ブールのプロパティを合理的に使用して、Webページのパフォーマンスとユーザーエクスペリエンスを最適化することです。

HTMLコードをどのように検証できますか?HTMLコードをどのように検証できますか?Apr 24, 2025 am 12:04 AM

HTMLコードは、オンラインバリデーター、統合ツール、自動化されたプロセスを使用するとクリーンになります。 1)w3cmarkupvalidationserviceを使用して、HTMLコードをオンラインで確認します。 2)リアルタイム検証のためにVisualStudiocodeにhtmlhint拡張機能をインストールして構成します。 3)HTMLTIDYを使用して、建設プロセスでHTMLファイルを自動的に検証およびクリーニングします。

HTML対CSSおよびJavaScript:Webテクノロジーの比較HTML対CSSおよびJavaScript:Webテクノロジーの比較Apr 23, 2025 am 12:05 AM

HTML、CSS、およびJavaScriptは、最新のWebページを構築するためのコアテクノロジーです。1。HTMLはWebページ構造を定義します。2。CSSはWebページの外観に責任があります。

マークアップ言語としてのHTML:その機能と目的マークアップ言語としてのHTML:その機能と目的Apr 22, 2025 am 12:02 AM

HTMLの機能は、Webページの構造とコンテンツを定義することであり、その目的は、情報を表示するための標準化された方法を提供することです。 1)HTMLは、タイトルやパラグラフなどのタグや属性を使用して、Webページのさまざまな部分を整理しています。 2)コンテンツとパフォーマンスの分離をサポートし、メンテナンス効率を向上させます。 3)HTMLは拡張可能であり、カスタムタグがSEOを強化できるようにします。

HTML、CSS、およびJavaScriptの未来:Web開発動向HTML、CSS、およびJavaScriptの未来:Web開発動向Apr 19, 2025 am 12:02 AM

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

HTML:構造、CSS:スタイル、JavaScript:動作HTML:構造、CSS:スタイル、JavaScript:動作Apr 18, 2025 am 12:09 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

HTMLの未来:ウェブデザインの進化とトレンドHTMLの未来:ウェブデザインの進化とトレンドApr 17, 2025 am 12:12 AM

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

HTML対CSS対JavaScript:比較概要HTML対CSS対JavaScript:比較概要Apr 16, 2025 am 12:04 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SecLists

SecLists

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

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、