Nodeはバックエンドの実装手順を素早く構築します

Nodeはバックエンドの実装手順を素早く構築します

1. まず、node、express、express-generator をインストールします (4.x バージョンではジェネレーターが分離されているため、個別にインストールする必要があります)

2. プロジェクトファイルを入力し、コマンドexpress 項目名を入力し、 npm i対応するパッケージをインストールすると、シンプルなバックエンドフレームワークがセットアップされます。デフォルトのポートは 3000 です。bin の下の www を変更します。

通常は app.js を書き換えてから bin ファイルを削除します。シンプルな方がよいからです。

 var http = require('http')
var server = http.createServer(アプリ)
// 中間部分を省略し、最終エクスポート アプリの直接リスニングを削除します。server.listen('3030',()=>{console.log('Server started successfully');})

最後に、package.json を変更します。みんなの習慣により、私はスクリプトで開発スタートアップを有効にすることに慣れています。

 "スクリプト": { "dev": "nodemon ./app.js" },

ここで nodemon をインストールし、リアルタイム更新であるホット モジュール置換を使用していることに注意してください。

2. MySQLデータベースをインストールする

次にインデックスでテストします

詳細なデータベース操作については説明しません。

3. 以下はルーティングの二次カプセル化である

まず、外部へのリクエストをルーティングするためのファイルapp/index.jsを作成します。

 //これはデータベースステートメントの実行を処理するためのものです。const { exec } = require('../unil/db')
/* ホームページを取得します。 */
初期化=(要求、リソース)=>{
  exec('select * from goods_type_info where 1=1', [], (err, result) => {
    もし(エラー){
      console.log('サービスリンクエラー');
    } それ以外 {
      res.send({code:200000,data:result})
    }
  })
}

モジュールをエクスポートするには、次のようにします。

//必要なファイルで呼び出します let getDate=require('../app/index')
/* ホームページを取得します。 */
router.get('/',getDate.init); //どのルートがどのステートメントを実行するか? これはルートを処理する最初のものです。 2 番目はルートの実行方法です。 ルートがネストされている場合は、スプライスする必要があります。

ここでの分類はより細かくすることができます。たとえば、どのページで使用されるすべてのルートを分離してから、均一にインポートすることができます。また、express によってすばやく作成されたテンプレートではbody-parserつ目は非推奨であるためであり、2 つ目は代わりにapp.use(express.json());app.use(express.urlencoded({ extended: false }));使用するためです。

ここで、フロントエンドは、開始されたリクエストヘッダーがこの形式であることを記憶します。そうでない場合、バックエンドで受信されるデータ形式に問題が生じます。形式が異なると、書き込み方法が異なります。詳細については、Baidu Content-Type参照してください。

このようにして、シンプルな背景フレームワークを素早く構築することができます

ここで私が遭遇した問題を追記したいと思います。ローカルでビルドする場合、フロントエンドを開くときにポート番号を書き込む必要があります。そうしないと、誤ったクロスドメインが発生しやすくなり、フロントエンドがリクエストし、バックエンドがデータを保存し、2 回目のリクエスト時にセッションを取得できなくなります。

ノードクイック背景構築に関するこの記事はこれで終わりです。ノードクイック背景構築に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Node.jsは小さなプログラムのバックグラウンドサービスを構築します

<<:  CentOS 7 はネットワークカードを変更した後、インターネットにアクセスできません

>>:  コードをセマンティックにする HTML のヒント

推薦する

JavaScript 文字列の一般的なメソッドの詳細な説明

目次1. キャラクター文法パラメータ索引戻り値2. 連結文法パラメータ文字列2 [, …文字列N]戻...

Docker を使用して Redis マスター スレーブ レプリケーション クラスターを構築する

マスタースレーブレプリケーションモードのクラスターでは、通常、1 つのマスターノードと 2 つ以上の...

Ubuntu で起動時に自動的に起動するシェル スクリプトを作成する (推奨)

スクリプトを書く目的は、さまざまなサービスを手動で起動しなくて済むようにすることです(怠惰のためでも...

ローカルストレージにブール型の値を保存する際の落とし穴を解決する

LocalStorageはブール値を保存します今日、ブール値データを保存するために localsto...

win10環境でDockerをインストールする実装

1. Docker公式サイトにアクセスするまず、Dockerの公式ウェブサイトにアクセスして、最新の...

CSS3のボックスサイズプロパティの興味深いボックスモデルについての簡単な説明

誰もがボックス モデルの構成を、内側から外側まで、コンテンツ、パディング、境界線、マージンについて知...

CentOS 7 で RPM を使用して mysql5.7.13 をインストールする

0. 環境この記事のオペレーティング システム: CentOS 7.2.1511 x86_64 My...

mysql MDLメタデータロックの詳細な分析

序文: MySQL で SQL 文を実行すると、予想した時間内に文が完了しません。このような場合、通...

MySQLのSeconds_Behind_Masterの詳細な説明

目次マスターの後ろの秒数オリジナルの実装最終マスタータイムスタンプマスターとのクロック差他の実行時間...

JavaScript関数におけるこのポイントの問題の詳細な説明

このキーワードどのオブジェクトが関数を呼び出しますか? また、関数内の this はどのオブジェクト...

FlashFXP FTP クライアント ソフトウェア登録クラッキング方法

FlashFXPのダウンロードアドレスは、https://www.jb51.net/softs/95...

ノードイベントループにおけるイベント実行の順序

目次イベントループブラウザ環境イベントループノード環境イベントループ6つのステージ(1)setTim...

XHTML言語のデフォルトCSSスタイル

html、アドレス、引用ブロック、本文、dd、div、 dl、dt、フィールドセット、フォーム、フレ...

プライベートDockerリポジトリであるHarborをインストールするための詳細な手順

Harborのインストールは非常に簡単ですが、Dockerログインで行き詰まってしまいました。このブ...

JavaScriptエンジンV8の実行プロセスの詳細な説明

目次1. V8ソース2. V8サービスターゲット3. V8の初期アーキテクチャIV. V8の初期アー...