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

推薦する

MySQL データベースのデータ テーブルの最適化、外部キーの分析、3 つのパラダイムの使用

この記事では、例を使用して、MySQL データベースのデータ テーブルの最適化、外部キーの使用、およ...

JS正規RegExpオブジェクトについての簡単な説明

目次1. RegExpオブジェクト2. 文法2.1 定義2.2 修飾子2.3 角括弧2.4 メタ文字...

aタグのhref属性とonclickイベントの比較

まず、href 属性と onclick イベントの実行順序について説明します。マウスが a タグをク...

JavaScript axiosのインストールとパッケージ化のケースの詳細な説明

1. axiosプラグインをダウンロードする cnpm インストール axios -S 2. mai...

yum インストールエラーの問題を解決する 保護されたマルチライブラリバージョン

現在、クラウドサーバーに nginx をインストールする際、最初に zlib などの依存ライブラリを...

MySQL 5.7.20 無料インストールバージョンの設定方法グラフィックチュートリアル

インターネット上で多くの関連チュートリアルを見てきましたが、インストール プロセスにはまだいくつかの...

自動開始および停止コマンドを適用するには、Docker サービスを再起動します (推奨)

Docker サービス アプリケーションを再起動するコマンドを見てみましょう。具体的な内容は次のと...

MySQL 学習: データベース テーブルの 5 つの主要な制約を初心者向けに詳しく説明します

目次1. 制約の概念と分類2. 5つの制約の追加と削除2.1 制約を追加する6つの方法2.2 制約を...

ジョセフリング問題を解決する 3 つの JavaScript メソッド

目次概要問題の説明循環リンクリスト順序付き配列数学的再帰要約する概要ジョセフ・リング問題は、ジョセフ...

Docker イメージを削除できません エラー: そのようなイメージはありません: xxxxxx 解決策

序文docker イメージを削除できません。docker docker imagesを確認すると、イ...

Kubernetes を使用して Springboot または Nginx をデプロイするための詳細なチュートリアル

1 はじめに「Maven がワンクリックで Springboot を Docker リポジトリにデプ...

Docker Alibaba Cloud RocketMQ 4.5.1 のデプロイプロセスの詳細な説明

検索ミラー docker 検索 rocketmq画像バージョンを表示他の画像を表示したい場合は、画像...

Vue でのカスタムディレクティブの基本的な使用方法

目次序文文章1. グローバル登録2. 部分登録3. フック機能とパラメータ設定4. 柔軟な使い方(1...

リアルタイムクロックを実装するネイティブJS

ネイティブ JS で実装したリアルタイム クロック エフェクトを共有します。エフェクトは以下のとおり...

HTML で Flash を読み込む方法 (2 つの実装方法)

最初の方法: CSSコード:コードをコピーコードは次のとおりです。 .b970-a{幅:970px;...