背景信息node.js /快速應用程序 - 我在哪裏把數據庫連接邏輯?
我剛剛創建了我的第一個快速應用程序。我可以看到它創建了一堆文件和默認文件夾結構。這是我的應用程序結構,目前的樣子:
[email protected]:/var/www/html/nodejs_samples/tutorial1$ ls -lah
total 36K
drwxr-xr-x 7 me me 4.0K Sep 28 09:26 .
drwxrwxr-x 5 me me 4.0K Sep 28 08:45 ..
-rw-rw-r-- 1 me me 1.5K Sep 28 08:45 app.js
drwxr-xr-x 2 me me 4.0K Sep 28 09:20 bin
drwxrwxr-x 96 me me 4.0K Sep 28 09:26 node_modules
-rw-rw-r-- 1 me me 352 Sep 28 09:26 package.json
drwxr-xr-x 5 me me 4.0K Sep 28 08:45 public
drwxr-xr-x 2 me me 4.0K Sep 28 09:26 routes
drwxr-xr-x 2 me me 4.0K Sep 28 08:45 views
[email protected]:/var/www/html/nodejs_samples/tutorial1$
目標
我想創建一個名爲「小部件」並調用GET方法時,我需要調用的Redis數據庫中的新航線並執行查詢。 我想用它來觸發此獲取URL是這樣的:
http://myserver/tutorial1/widgets/
或
http://myserver/tutorial1/widgets/12345
其中12345是我要查詢的窗口小部件的關鍵。
我所做到目前爲止
,我發現這個文檔解釋瞭如何連接/查詢Redis的數據庫:http://expressjs.com/en/guide/database-integration.html#redis
我也複製路線/ users.js的快遞發電機創建「免費」爲我的路線/ widgets.js作爲一個起點。
這是我的路線/ widgets.js文件看起來是這樣的:
[email protected]:/var/www/html/nodejs_samples/tutorial1$ cat routes/widgets.js
var express = require('express');
var router = express.Router();
/* GET widgets listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
module.exports = router;
問題
這不是我清楚,我要補充的數據庫連接邏輯和查詢邏輯。我習慣於將所有數據庫邏輯分解到模型中的MVC。
我可以把一切都放在route/widgets.js文件中嗎?
如果有幫助,下面是我的app.js文件的外觀:http://pastebin.com/hAe5mvwt。我添加了2行 - 第10行和第28行。
任何建議或鏈接到好的教程將不勝感激。
你*可*,但它然後直接耦合到路由處理程序。從這種方式開始就很好,但我更喜歡更緊密的關注點分離。最終,這可以歸結爲意見:沒有一種特定的「正確」方式來分解功能。 –