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 のヒント

推薦する

Windows 10 Home EditionにDockerをインストールする方法を教えます

Redisの本やSpring Cloud Alibabaの本を執筆した際に、一部の分散コンポーネント...

JavaScript Sandboxについての簡単な説明

序文:サンドボックスといえば、私たちの頭には反射的に上の写真が思い浮かび、すぐに興味がわいてくるかも...

JavaScript進捗管理の詳しい説明

目次序文質問原理テスト序文プログラムを作成するときに、読み込みの進行状況やアップロードの進行状況など...

テーブルの最大幅と最小幅を設定する際の互換性の問題と解決策の詳細な説明

テーブル内の min-width と max-width プロパティの設定 <テーブル>...

MySQL 学習ノート ヘルプ ドキュメント

システムヘルプを表示help contents mysql> ヘルプコンテンツ; ヘルプ カテ...

Vue フロントエンドと Django バックエンドを使用して、一定期間内のデータをクエリする方法

序文開発プロセスでは、すべてのデータではなく特定の期間内のデータをクエリするなど、クエリのフィルタリ...

Dockerを使用してブログサイトを素早く構築する方法の詳細な説明

目次1. 準備2. 展開プロセス3. アクセステストHalo は、ブログに慣れている学生に追加のオプ...

Vue 3 で Vue Router リンクを拡張する方法

序文<router-link> タグは、Vue アプリ内のさまざまなページ間を移動するた...

MySQL における識別子の大文字と小文字の区別の問題の詳細な分析

MySQL では、テーブル名の大文字と小文字の区別の問題が発生する可能性があります。実際、これはプラ...

HTML テーブル マークアップ チュートリアル (42): テーブル ヘッダーの水平方向の配置属性 ALIGN

水平方向では、テーブル ヘッダーの配置を左、中央、右に設定できます。基本的な構文<TH ALI...

HTML の title 属性を正しく使用するためのヒント

コンテンツを携帯電話、タブレット、支援技術のユーザーから非表示にし、キーボードのユーザーにのみ表示す...

MySQLで一意のサーバーIDを生成する方法

序文MySQL では、server-id を使用してデータベース インスタンスを一意に識別し、それを...

Vue ソースコード学習でレスポンシブ性を実装する方法

目次序文1. レスポンシブシステムの重要な要素1. データの変更を監視する方法2. 依存関係を収集す...

TomcatはXMLを解析し、リフレクションを通じてオブジェクトを作成します。

次のサンプル コードでは、Tomcat が XML を解析し、リフレクションを通じてオブジェクトを作...

MySQL の暗号化と復号化の例

MySQL の暗号化と復号化の例データの暗号化と復号化はセキュリティ分野で非常に重要です。プログラマ...