まずはノード環境は言うまでもなく
次に、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
出典:レアアースナゲット
著作権は著者に帰属します。商業的転載の場合は著者に連絡して承認を求め、非商業的転載の場合は出典を明記してください。