Express Framework + mongodb を使用してバックエンド プロジェクトを迅速に構築する

まずはノード環境は言うまでもなく

次に、Express Scaffolding Express-generator を使用します。

プロジェクトディレクトリを素早く作成する

Express-generator をグローバルにインストールする

npm i -g express-generator
复制代码

次に、express コマンドを使用してプロジェクトを作成します。programnem はプロジェクト フォルダー名です。

express <programname>
复制代码

これで、完全な Express プロジェクト ディレクトリが完成しました。プロジェクト フォルダーを入力します ->

## 安装依赖
npm install

## 运行项目
npm run start
复制代码

ブラウザに「localhost:3000」と入力すると、次のインターフェイスが表示されます。

しかし、ファイルを変更してもページは変更されないことがわかりました。npm start を再起動する必要があります。これは、start がホット アップデートではないためです。

この時点で、nodemon の依存関係をインストールし、nodemon を使用してサービスを実行できます。

ノードモンをインストールして使用します

npm i -S nodemon
复制代码

package.jsonを開く

旧代码
"scripts": {
  "start": "node ./bin/www"
},

新代码"scripts": {
  "dev": "nodemon ./bin/www",
  "start": "node ./bin/www"
},

增加了 ——> "dev": "nodemon ./bin/www",
复制代码

この時点で実行します  

npm run dev
复制代码

コードを変更すると、ページのコンテンツが変更されるため、再実行する必要がないことがわかります。

以上、少し長く感じましたが、できるだけわかりやすく説明したいと思います。

次はスピードを上げていきます。

ディレクトリ構造の変更

私は、ルート フォルダーを別の src フォルダーの下に置くのが好きで、通常は、以下に示すように、src の下に他のフォルダーを作成します。

比較のために、jwt 署名、appid、アプレット ログイン用の秘密キーなどの公開設定を保存するための新しい設定フォルダーも外部に作成しました。

mongodb データベースをインストールして使用する

上記はディレクトリ構造の作成であり、次のステップはデータベースリンク、モデル操作です。

安装mongoose依赖
npm i -S mongoose
复制代码

db フォルダーの下に、新しい mongodb.js を作成します。

// 引入 mongoose 
const mongoose = require('mongoose')

// 连接数据库,自动新建 ExpressApi 库
mongoose.connect('mongodb://localhost:27017/ExpressApi', {
  useNewUrlParser: true, // 避免“不建议使用当前URL字符串解析器”
  useCreateIndex: true, // 解决MongoDB弃用警告
  useUnifiedTopology: true, // 解决连接报错问题
  useFindAndModify: false
})

module.exports = mongoose
复制代码

次に、モデル フォルダーの下に User.js などの新しいモデル ファイルを作成します。

ここでは、モデル ファイルに大きなこぶの付いた名前を付けることをお勧めします。

ユーザー.js

// 引入mongodb
const mongoose = require('../db/mongodb')
const bcrypt = require('bcrypt')
// 建立用户表
const UserSchema = new mongoose.Schema({
    username: {
        type: String,
        unique: true
    },
    password: {
        type: String,
        set(val){
            return bcrypt.hashSync(val, 10)
        },
        select: false
    },
    createTime: {
        type: Date,
        default: Date.now
    },
    updateTime: {
        type: Date,
        default: Date.now
    }
})

// 建立用户数据库模型
const User = mongoose.model('User', UserSchema)
module.exports = { User }
复制代码

最も基本的なユーザー モデルには通常、ユーザー名とパスワード、作成時間、更新時間、

ここでも bcrypt パスワード暗号化が使用されます  

npm i -S bcrypt
复制代码

データベース モデルが作成されたら、それをルートで使用できます。

たとえば、routes/users.js で使用します。

var express = require('express');
var router = express.Router();
const { User } = require('../model/User')

// 用户注册
router.post('/register', async (req, res, next) => {
  const user = await User.create({
    username: req.body.username,
    password: req.body.password
 }) 
 res.send(user)
});

// 获取用户信息
router.get('/info', async (req, res, next) => {
  const user = await User.findOne({
    _id: req.user_id  })
  res.send({
    code: 200,
    data: user
  })
})

// 获取用户列表
router.get('/list', async(req, res, next)=>{
  const user = await User.find()
  res.send({ 
   code: 200,
    msg: '获取成功',
    data: user
  })
})

module.exports = router;
复制代码

上記は単純な mongodb データベースの使用です

コードが機能することを確認するには、インターフェイス デバッグ ツールを使用してテストします。

ここでは、vscode のプラグイン REST クライアントをテストに使用します。

Vscode はプラグイン REST クライアントを検索してインストールします

次に、プロジェクトのルート ディレクトリに新しい .http ファイルを作成します。

// test.http@url=http://localhost:3000

### 获取用户列表
get {
   
   {url}}/users/list

### 注册账号
POST {
   
   {url}}/users/register
Content-Type: application/json

{
  "username": "user3",
  "password": "123456"
}
复制代码

上記は、express+mongodb に基づく単純な基本プロジェクトであり、ここでは追加とクエリのためのデータベース操作の例のみを示します。

その後の開発は、実際にはビジネス機能を実現するコードであり、実際には比較的単純ですが、分からない場合は、Baidu にアクセスすると、関連するチュートリアルがインターネット上に多数あります。

著者:Zen Yixia
リンク:https://juejin.cn/post/6931253375195414535
出典:レアアースナゲット
著作権は著者に帰属します。商業的転載の場合は著者に連絡して承認を求め、非商業的転載の場合は出典を明記してください。

おすすめ

転載: blog.csdn.net/qq_45530512/article/details/130422927