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

推薦する

Bootstrap 3.0 の特殊効果の学習ノート(表示と非表示、フローティングの除去、閉じるボタンなど)

この記事の主な内容は次のとおりです。 1. 閉じるボタン2.キャレット3. フローティングを素早く設...

ReactでuseStateを使用する詳細な例

使用状態useState は、関数コンポーネント内で呼び出すことで、コンポーネントに内部状態を追加し...

IE8対応のボーダー半径処理方法

canisue (http://caniuse.com/#search=border-radius)...

フロントエンドAIカットのコツ(体験談)

AI 画像の切り取りは PS と連携する必要があります。まず、スライスするレイヤーを選択し、それを...

HTMLファイルで外部CSSファイルを導入する場合のパスの書き方について簡単にまとめます

1. 外部CSSファイルの基本スタイルをインポートする<link> タグを使用して外部ス...

JavaScript オブジェクトの 3 つのプロパティ

目次1. 書き込み可能: 書き込み可能2. 列挙可能: 列挙可能3. 設定可能: 設定可能オブジェク...

アプレットにおけるwx.getUserProfileインターフェースの具体的な使用

最近、WeChatミニプログラムは、監査ミニプログラムのwx.loginおよびwx.getUserI...

MySQLデータベースのマスタースレーブレプリケーションの原理と機能の分析

目次1. データベースのマスター/スレーブ分類: 2. MySQL マスタースレーブの紹介3. マス...

JSはjQueryのappend関数を実装します

目次コードを見せてください効果をテストする効果追伸別のアプローチコードを見せてください HTMLEl...

LinuxとGNUシステムの関係の詳細な説明

目次私たちが毎日実行している Linux システムとは何でしょうか? LinuxカーネルとGNUシス...

Linux での GDB 入門チュートリアル

序文gdb は Linux で非常に便利なデバッグ ツールです。コマンドライン モードのデバッグ ツ...

WeChatアプレットを少なく使う方法(最適な方法)

序文私は less/sass を書くことに慣れていますが、小さなプログラムを開発するときには、まだ ...

JSに関する7つの面接の質問、あなたはいくつ正しく答えられますか

序文JavaScript では、これは関数呼び出しコンテキストです。この動作が非常に複雑であるからこ...

CSS でテキストカラーグラデーションを実装する 3 つの方法

Web フロントエンド開発のプロセスでは、UI デザイナーはグラデーション テキストを使用したデザイ...

【HTML要素】画像の埋め込み方法

img 要素を使用すると、HTML ドキュメントに画像を埋め込むことができます。画像を埋め込むには、...