ホームページ >ウェブフロントエンド >jsチュートリアル >Node.js で API を構造化するための初心者ガイド: クリーンでスケーラブル
このガイドは、明確に構造化された Node.js REST API を構築する方法を学習するのに役立ちます。スケーラブルで保守可能な API を構築するためのフォルダー構成、ベスト プラクティス、ヒントが含まれています。
API は、フロントエンドとサーバーを接続する、最新の Web アプリケーションの基礎です。ただし、API の構造が不十分だと、コードが乱雑になり、保守が困難になる可能性があります。 Node.js を初めて使用する人にとって、スケーラブルでクリーンなアプリケーションを構築するには、最初からプロジェクトを編成する方法を理解することが重要です。
このガイドでは、Node.js REST API の基本アーキテクチャについて説明します。重要事項とベスト プラクティスについて説明し、プロジェクトに適用できる実用的なフォルダー構造を提供します。 フォルダー構造について詳しく読む
多くの開発者は、開始時にすべてを 1 つのファイルにまとめます。これは小規模なプロジェクトでは機能しますが、コード ベースが大きくなると悪夢になる可能性があります。適切な API 構造は以下に役立ちます:
フォルダー構造に入る前に、いくつかの基本原則を理解しましょう:
これは小規模プロジェクト向けのシンプルな構造で、まったくの初心者に最適です:
<code>my-api/ ├── server.js # 入口点 ├── package.json # 项目元数据和依赖项 ├── .env # 环境变量 ├── /routes # API 路由定义 │ └── userRoutes.js # 示例:用户相关的路由 ├── /controllers # 请求处理逻辑 │ └── userController.js ├── /models # 数据库模型或模式 │ └── userModel.js └── /config # 配置文件 └── db.js # 数据库连接设置</code>
アプリケーションへのエントリポイント:
<code>my-api/ ├── server.js # 入口点 ├── package.json # 项目元数据和依赖项 ├── .env # 环境变量 ├── /routes # API 路由定义 │ └── userRoutes.js # 示例:用户相关的路由 ├── /controllers # 请求处理逻辑 │ └── userController.js ├── /models # 数据库模型或模式 │ └── userModel.js └── /config # 配置文件 └── db.js # 数据库连接设置</code>
.env ファイルを使用して機密データを保存します:
<code class="language-javascript">require('dotenv').config(); const express = require('express'); const userRoutes = require('./routes/userRoutes'); const connectDB = require('./config/db'); const app = express(); const PORT = process.env.PORT || 5000; // 中间件 app.use(express.json()); // 数据库连接 connectDB(); // 路由 app.use('/api/users', userRoutes); app.listen(PORT, () => console.log(`服务器运行在端口 ${PORT}`));</code>
dotenv をインストールして、これらの変数を process.env にロードします:
<code>PORT=5000 MONGO_URI=mongodb+srv://username:password@cluster.mongodb.net/myDatabase</code>
ルートは HTTP リクエストを処理し、適切なコントローラに送信します。
/routes/userRoutes.js:
<code class="language-bash">npm install dotenv</code>
コントローラーにはリクエストを処理するロジックが含まれています。
/controllers/userController.js:
<code class="language-javascript">const express = require('express'); const { getAllUsers, createUser } = require('../controllers/userController'); const router = express.Router(); // 获取所有用户 router.get('/', getAllUsers); // POST 创建新用户 router.post('/', createUser); module.exports = router;</code>
モデルはデータベースドキュメントの構造を定義します。この例では、MongoDB と Mongoose を使用します。
/models/userModel.js:
<code class="language-javascript">const User = require('../models/userModel'); // 获取所有用户 const getAllUsers = async (req, res) => { try { const users = await User.find(); res.status(200).json(users); } catch (error) { res.status(500).json({ message: error.message }); } }; // POST 创建新用户 const createUser = async (req, res) => { try { const { name, email } = req.body; const newUser = await User.create({ name, email }); res.status(201).json(newUser); } catch (error) { res.status(500).json({ message: error.message }); } }; module.exports = { getAllUsers, createUser };</code>
構成フォルダーには、データベースなどの外部リソースに接続するファイルが含まれています。
/config/db.js:
<code class="language-javascript">const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({ name: { type: String, required: true }, email: { type: String, required: true, unique: true } }); module.exports = mongoose.model('User', userSchema);</code>
ここにいくつかの練習アイデアがあります:
クリーンで構造化された API から始めることが、保守可能なプロジェクトの基礎です。懸念事項を分離し、コードを論理的に整理することで、アプリケーションの成長に備えることができます。
これは単なる出発点であることを忘れないでください。経験が増えるにつれて、この構造を適応および拡張して、より大規模で複雑なプロジェクトに対応できるようになります。
今後の記事で検討してほしい具体的な課題やアイデアはありますか?コメントでお知らせください!
お読みいただきありがとうございます!トピックを単純化し、貴重な洞察を提供するのに役立つことを願っています。役に立ったと思ったら、私をフォローして、Web 開発やその他の技術的なトピックに関するよりわかりやすいコンテンツを入手してください。
あなたのフィードバックは重要です!提案、質問、改善してほしい点など、コメントセクションでご意見をお聞かせください。絵文字を自由に使用して、この投稿を読んでどう感じたかをお知らせください。 ?
あなたとつながりたいです!これからもアイデアを交換し、お互いから学び、一緒に成長していきましょう。
ソーシャルメディアで私をフォローして、つながりを保ちましょう:
皆さんからのご意見をお待ちしており、好奇心旺盛な人たちのコミュニティが成長することを楽しみにしています。 ?
以上がNode.js で API を構造化するための初心者ガイド: クリーンでスケーラブルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。