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

推薦する

CentOS に Nginx をインストールする方法

公式ドキュメント: https://nginx.org/en/linux_packages.html...

iframe ページで js 関数を呼び出すには js を使用します

最近、私は毎日論文提案に取り組んでいます。自分のスキルを発揮して、再びWebをデザインしたくてうずう...

WeChatミニプログラムがいいねサービスを実装

この記事では、WeChatアプレットの具体的なコードを参考までに紹介します。具体的な内容は次のとおり...

IDEA が MySQL データベースに接続できない問題の 6 つの解決策

この記事では、IDEA が MySQL データベースに接続できない問題に対する 6 つの解決策を主に...

WeChat ミニプログラム 宝くじ番号ジェネレーター

この記事では、WeChatアプレットの宝くじ番号ジェネレータの具体的なコードを参考までに紹介します。...

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

要約する地球環境 ➡️ ウィンドウ通常関数 ➡️ ウィンドウまたは未定義コンストラクター ➡️ 構築...

CSSはBEM命名規則の実践を使用する

クラスを見るとき、どのような情報を得たいですか?このクラスはどこで使用され、その機能は何ですか?この...

MySQLテーブル構造を変更するコマンドを表示する

簡単な説明エディターはデータベースのエンコードが間違っているために問題に遭遇することが多く、これは頭...

Windows 10 + mysql 8.0.11 zipインストールチュートリアルの詳細

準備する: MySQL 8.0 Windows zip パッケージのダウンロード アドレス: htt...

js 基本構文と Maven プロジェクト構成チュートリアル ケース

目次1. jsステートメント2番目、js配列3. js関数4. メイヴンV. 結論1. jsステート...

一般的なブラウザのユーザーエージェントの概要

1. 基礎知識: HTTP ヘッダー ユーザーエージェントユーザー エージェントは、ユーザー エージ...

MySQL マルチバージョン同時実行制御 MVCC の詳細な研究

MVCC MVCC (Multi-Version Concurrency Control) は、マル...

mysqldumpデータエクスポートの問題に関する詳細な議論

1. mysqldump の使用時にエラー (1064) が報告されます。これは、mysqldump...

17の広告効果測定の解釈

1. 広告の 85% は未読です<br />解釈: 成功する広告の 15% にどうやって...

MySQL インデックスの失敗を引き起こす一般的な書き込み方法の概要

序文最近、古いプロジェクトから残ったいくつかの SQL 最適化の問題に対処するのに忙しくしています。...