node.js駆動のチャットルームWebアプリを作成する:ブートストラップ付きチャットルームUI
キーテイクアウト
-
このチュートリアルでは、Node.js-Powered WebアプリでBootstrapを使用してチャットルームUIを作成する方法を示しています。
- プロセスでは、プロジェクトにブートストラップを追加し、チャットUIレイアウトを作成し、CSSを追加してメッセージ編集領域をビューポートの下部に強制します。 チュートリアルでは、Bootstrapをプロジェクトに組み込むための具体的な手順の概要を示しています。これには、layout.hadeファイルを変更してBootstrap CSSファイルリンクとjavaScriptファイルを含めることを含む。
- チャットUIレイアウトはブートストラップグリッドシステムを使用して構築され、カスタムCSSルールが追加され、メッセージ編集領域がビューポートの下部に配置されていることを確認します。
- この記事は、MicrosoftのWeb Dev Techシリーズの一部です。 SitePointを可能にしてくれたパートナーをサポートしてくれてありがとう。
- このnode.jsチュートリアルシリーズは、クラウドに完全に展開されているnode.js駆動のリアルタイムチャットルームWebアプリを構築するのに役立ちます。このシリーズでは、Windowsマシンでnode.jsをセットアップする方法(またはMacにいる場合は概念を学習する)、Expressを使用したWebフロントエンドの開発方法、node.js expressアプリを展開する方法を学びます。 azure、socket.ioを使用してリアルタイムレイヤーを追加する方法、およびそれをすべて一緒に展開する方法。 チュートリアルでは、オプションのVisual Studioとnode.jsツールを開発環境としてVisual Studioプラグインに使用します。両方のツールの無料ダウンロードへのリンクを提供しました。これは中級レベルの初心者です。HTML5とJavaScriptを知ることが期待されています。
パート1 - node.jsの紹介 パート2 - node.jsとazure
を使用してExpressを歓迎しますパート3 - node.js、mongo、socket.ioでバックエンドを構築する
パート4 - ブートストラップを使用してチャットルームUIを構築しますパート5 - チャットルームをWebSockets
に接続しますパート6 - フィナーレとデバッグリモートノード.jsアプリ
パート4 - ブートストラップを使用してチャットルームUIを構築します
ハンズオンnode.jsチュートリアルシリーズのパート4へようこそ:node.js-PoweredチャットルームWebアプリを作成します。この記事では、パート2とパート3に構築されたチャットルームバックエンドにTwitterブートストラップスタイルのフロントエンドを追加する方法を紹介します。
bootstrapとは?Bootstrapは、WebサイトやWebアプリケーションを構築するための非常に人気のあるHTMLおよびCSSフレームワークです。 GitHubのナンバーワンプロジェクトです。 BootstrapはレスポンシブWebデザインをサポートし、ページのレイアウトがデバイス(デスクトップ、タブレット、モバイル)に適応できるようにします。
プロジェクトにブートストラップを追加します
プロジェクトにBootstrapを追加するには、bootstrap用の模倣CSSおよびJSファイルをダウンロードする必要があります。このリンクからブートストラップをダウンロードできます。 Bootstrapをダウンロードした後、ファイルを解凍して、プロジェクトのパブリックフォルダーにCSS、JS、およびフォントをフォルダーにコピーしてください。
既存のフォルダー構造とのいくつかの矛盾に気付くでしょう。 StyleSheetsとJavaScriptフォルダーを統合します。他のサードパーティライブラリと共有されているため、StyleSheetsのCSSのBootstrap命名法とJavaScriptのJSのブートストラップ命名法を好みます。 StyleSheetsのファイルをCSSにコピーし、空にする必要があるJavaScriptフォルダーを削除します。次に、レイアウトに移動して、次の行を変更して変更します
to:link(rel='stylesheet' href='/stylesheets/style.css')ログイン後にコピーログイン後にコピー
次に、Bootstrap CSSファイルリンクをヘッダーに追加し、Layout.hadeファイルのHTML5アプリに適切なメタタグを追加します。 style.cssリンクを含む行の直前に次の行を追加する必要があります。link(rel='stylesheet' href='/css/style.css')ログイン後にコピーログイン後にコピー次に、ブートストラップがコンポーネントとプラグインに必要なJavaScriptファイルを追加したいと思います。レイアウトの最後に次の行を追加します。
meta(charset="utf-8") meta(http-equiv="X-UA-Compatible" content="IE=edge") link(rel='stylesheet' href='/css/bootstrap.min.css') link(rel='stylesheet' href='/css/bootstrap-theme.min.css')ログイン後にコピーログイン後にコピーreaut.jade
を完了しましたscript(type=’text/javascript’ src=’/js/bootstrap.min.js’)ログイン後にコピーログイン後にコピーチャットuiレイアウトの作成
チャットユーザーインターフェイスレイアウトを開発する時が来ました。まず、Bootstrapについて読んで、この長いチュートリアルを見てみたいと思うかもしれません。すべてのチャットエンジンには、最近受信したメッセージ用の領域と、ユーザーがメッセージを書き込み送信する領域があります。歴史的に、レイアウトは編集領域を下部に取り付け、上部にメッセージを取り付けることでした。doctype html html head title= title meta(charset="utf-8") meta(http-equiv="X-UA-Compatible" content="IE=edge") link(rel='stylesheet' href='/css/bootstrap.min.css') link(rel='stylesheet' href='/css/bootstrap-theme.min.css') link(rel='stylesheet' href='/css/style.css') body block content script(type='text/javascript')ログイン後にコピーログイン後にコピーHTMLページの要素をビューポートの下部まで修正するのは簡単ではありません。このサンプルをフォローして、フッターを下に固定します。 index.hadeファイルを変更し、コンテンツブロックの下のすべてのコード行を削除します。
最初に、受信したメッセージが含まれるページの領域を追加します。クラスラップでDIVを追加することから始めましょう。 Jadeでは、書く必要があるのは.wrapでaを生成することだけです。インデントを使用することにより、Jadeテンプレートエンジンに、インデントが少ない要素内に進むことを示すことができます。他のチュートリアルで見逃した場合は、このジェイドのチュートリアルを見てください。次に、クラスのコンテナフルイド付きの別のDIVを追加して、ページに流体幅を追加します。内部では、「ノードチャットルームへようこそ」と書かれたH1要素と、IDメッセージを備えたDIVと、チャットルームのメッセージ編集領域を下に押し下げるために使用するクラスのプッシュを備えた最終的なDIVを作成します。ビューポート。
次に、メッセージ編集領域を開発します。テキストボックスをキャプチャして、フッターと呼ばれるDiv内のボタンとコンテナフルイドと呼ばれるdivボタンを送信します。フッターdivには、ラップdivと同じインデントがあります。
次に、ブートストラップグリッドシステム(こちらについて読んでください)を使用して、メッセージ編集領域を2つに分割します。列の1つはスペースの大部分を取り、メッセージを書くためのテキストボックスが含まれます。2番目の列には、メッセージを送信するためのブロックレベルボタンが含まれます。 Jadeを使用して、段落表記を使用して要素の属性を指定できる方法に注意してください。コードは次のようになります:
link(rel='stylesheet' href='/stylesheets/style.css')ログイン後にコピーログイン後にコピーindex.jade
を完了しましたlink(rel='stylesheet' href='/css/style.css')ログイン後にコピーログイン後にコピーCSSを追加して、メッセージ編集領域をビューポートの下部に強制します
メッセージ編集領域をビューポートの下部に強制したい場合は、パブリック/CSS/style.stylページにいくつかのカスタムCSSルールを追加します。このファイルはStylus CSS Preprocessorを使用していますが、生成されたCSSファイルに再リコープする逐語的なCSSを貼り付けることもできます。
最初に、ページ全体が高さの100%を占めるようにしたいと思うでしょう。
第二に、ラップエリアが最大の高さを占めることを確認したいが、フッターとメッセージ編集領域の下部に60pxのマージンを残す。meta(charset="utf-8") meta(http-equiv="X-UA-Compatible" content="IE=edge") link(rel='stylesheet' href='/css/bootstrap.min.css') link(rel='stylesheet' href='/css/bootstrap-theme.min.css')ログイン後にコピーログイン後にコピー3番目に、編集領域のこのスペースが尊重され、フッターに割り当てられるようにしたいと思います。
script(type=’text/javascript’ src=’/js/bootstrap.min.js’)ログイン後にコピーログイン後にコピー最後に、文体的な理由から、フッターに微妙な背景色を追加しましょう。
完成したstyle.styldoctype html html head title= title meta(charset="utf-8") meta(http-equiv="X-UA-Compatible" content="IE=edge") link(rel='stylesheet' href='/css/bootstrap.min.css') link(rel='stylesheet' href='/css/bootstrap-theme.min.css') link(rel='stylesheet' href='/css/style.css') body block content script(type='text/javascript')ログイン後にコピーログイン後にコピー
スクリーンショット.wrap .container-fluid h1 Welcome to the Node Chatroom #messages .pushログイン後にコピーすべてを正しく行った場合、次のようなUIになるはずです:
.footer .container-fluid .row .col-xs-8.col-sm-9 input(type="text" placeholder="Write a message here..." rows="3") .col-xs-4.col-sm-3 button#send-message-btn.btn.btn-primary.btn-lg.btn-block Send Messageログイン後にコピー結論
voila! BootstrapとJade/Stylus Preprocessorsを使用して、node.jsが提供するチャットルームに素敵なUIレイアウトを追加しました。次の記事では、WebSocketsを介してUIとnode.jsバックエンドを接続する方法を紹介します。
パート5!
にご期待ください
パート5 - チャットルームをWebSocketsに接続することはこちらです。私のTwitterアカウントをフォローして、この記事や他の記事を最新の状態に保つことができますその他のnode.js azureでの学習node.jsの詳細な学習については、私のコースはMicrosoft Virtual Academyで入手できます。
または類似のnode.jsの被験者に関するいくつかの短い形式のビデオ:6部構成のシリーズ:node.js を使用したアプリを構築します ノード(Coding4Fun)
。Node.js-Powered Chatroom Webアプリの構築に関するよくある質問(FAQ) この記事は、MicrosoftのWeb Dev Techシリーズの一部です。 Project Spartanとその新しいレンダリングエンジンを皆さんと共有できることを楽しみにしています。モダンでMac、iOS、Android、またはWindowsデバイスで無料の仮想マシンを入手するか、リモートでテストしてください
node.js-PoweredチャットルームWebアプリでチャットUIをカスタマイズするにはどうすればよいですか?チャットUIに関連付けられたファイル。チャットUIの色、フォント、レイアウトを変更して、好みに合わせて変更できます。サードパーティライブラリを統合したり、独自のカスタムコードを書いたりすることにより、絵文字、ファイル共有、音声メッセージなどの機能を追加することもできます。変更が期待どおりに機能し、バグをアプリに導入しないように徹底的にテストすることを忘れないでください。 、使いやすさとシンプルさに集中することが重要です。チャットUIは、初めてのユーザーであっても、直感的で使いやすい必要があります。また、レスポンシブである必要があります。つまり、すべてのデバイスと画面サイズで見た目と機能をうまく機能させる必要があります。その他のベストプラクティスには、ユーザーにフィードバックを提供すること(メッセージが送信または読み取られたときの表示など)、カスタマイズ(テーマの変更やフォントサイズの変更など)、アクセシビリティ(画像のALTテキストの提供や作成などのアクセシビリティの確保が含まれます。確かに、UIはキーボード経由でナビゲート可能です)。 WebSocketは、単一のTCP接続にわたって全二重通信チャネルを提供するプロトコルです。これにより、クライアントとサーバー間のリアルタイム通信が可能になります。 node.jsでは、socket.ioなどのライブラリを使用して、WebSocket機能を簡単に実装できます。これにより、メッセージを即座に送信および受信できるようになり、ユーザーにシームレスなチャットエクスペリエンスを提供します。 Webアプリの重要な側面です。 node.jsでは、ミドルウェア関数を使用してエラーを処理できます。これらの関数は、コードの実行中に発生するエラーをキャッチおよび処理できます。 Try/Catchブロックを使用して、同期コードのエラーを処理することもできます。ユーザーに有益なエラーメッセージを提供し、デバッグの目的でエラーを記録することが重要です。
チャットルームWebアプリのセキュリティを確保するにはどうすればよいですか?いくつかのステップが含まれます。まず、HTTPSを使用して、輸送中にデータを暗号化する必要があります。第二に、クロスサイトスクリプト(XSS)攻撃を防ぐために、ユーザー入力をサニタイズする必要があります。第三に、セッションのハイジャックを防ぐために、セキュアクッキーを使用する必要があります。第四に、ブルートフォース攻撃を防ぐためにレート制限を実装する必要があります。最後に、最新のセキュリティパッチの恩恵を受けるために、node.jsと他のすべてのソフトウェアを最新の状態に保ちます。
node.js-PoweredチャットルームWebアプリをスケーリングするにはどうすればよいですか?
node.js搭載のチャットルームWebアプリのスケーリングは、さまざまな方法で達成できます。一般的な方法の1つは水平スケーリングです。これには、より多くのサーバーを追加して負荷の増加を処理することが含まれます。別の方法は、垂直スケーリングです。これには、既存のサーバーにリソース(CPUやRAMなど)を追加することが含まれます。ロードバランシングを使用して、複数のサーバー全体にトラフィックを均等に配布することもできます。
チャットルームWebアプリをテストするにはどうすればよいですか?優れたユーザーエクスペリエンス。ユニットテストを使用して個々の機能、統合テストをテストして、アプリのさまざまな部分がどのように機能するか、エンドツーエンドテストをテストしてユーザーの観点からアプリをテストできます。手動テストを使用して、自動テストに見逃される可能性のある問題をキャッチすることもできます。 Webアプリは、Heroku、AWS、Google Cloudなどのさまざまなプラットフォームを使用して実行できます。これらのプラットフォームは、アプリの展開、拡張、監視を容易にするツールとサービスを提供します。また、継続的な統合/継続展開(CI/CD)ツールを使用して、展開プロセスを自動化し、アプリが常に最新であることを確認する必要があります。 Chatroom Webアプリのパフォーマンスを監視することは、迅速で応答性の高いものを確保するために重要です。 New RelicやDataDogなどのツールを使用して、アプリのパフォーマンスをリアルタイムで監視できます。これらのツールは、応答時間、エラー率、サーバーの負荷など、さまざまなメトリックに関する洞察を提供できます。チャットルームのWebアプリは、さまざまな方法で達成できます。まず、高速で応答性の高いアプリがより良いユーザーエクスペリエンスを提供するため、パフォーマンスに焦点を合わせる必要があります。第二に、障害のあるユーザーを含むすべてのユーザーがアプリにアクセスできるようにする必要があります。第三に、ユーザーのフィードバックを聞いて、提案に基づいて改善を行う必要があります。最後に、新しい機能を追加してバグを修正するには、アプリを定期的に更新する必要があります。
以上がnode.js駆動のチャットルームWebアプリを作成する:ブートストラップ付きチャットルームUIの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

JavaScriptを学ぶことは難しくありませんが、挑戦的です。 1)変数、データ型、関数などの基本概念を理解します。2)非同期プログラミングをマスターし、イベントループを通じて実装します。 3)DOM操作を使用し、非同期リクエストを処理することを約束します。 4)一般的な間違いを避け、デバッグテクニックを使用します。 5)パフォーマンスを最適化し、ベストプラクティスに従ってください。

この記事の視差スクロールと要素のアニメーション効果の実現に関する議論では、Shiseidoの公式ウェブサイト(https://www.shisido.co.co.jp/sb/wonderland/)と同様の達成方法について説明します。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...
