Node.js快速服务器端结构
问题描述:
我正在尝试为我的服务器和它的结构找到解决方案。我想要做的是分开的。Node.js快速服务器端结构
app.post("/login", function(request, response) {
});
app.post("/register", function(request, response) {
});
app.get("/", function(request, response) {
});
成不同的文件。就我而言,他们都站在一个名为“server.js”的文件中。我怎样才能让他们更好地工作?并且同时运行所有这些工具。我搜查了这种情况,发现了这种情况的不同类型。但无法得到明确的答案。
答
你可以做的一件事是将“路由器”合并到你的快速函数中。
这是我如何做的一个小例子。 (无耻插头,请随时查看我的游戏源代码,更全面详细的路由器here)
server.js
import login from "./routes/login";
app.use("/login", login);
login.js
const router = express.Router();
router.route("/") //this points to the root route of /login
.post((req, res) => {
//post function here
})
.get((req, res) => {
//get function here
})
这允许你做的很特定的功能路由,以及将路由器分成不同的文件(我将它们存储在路由中)
app_root
----routes
--------login.js
----server.js
这是它在文件体系结构中的外观基本结构。非常干净,非常容易模块化。
+0
这是IMO最好的解决方案。你可以看看'server.js',它本质上是一个文件中记录的路由,但是你也可以把这些函数/业务逻辑分解成逻辑块。 – Matthew
答
正如英镑射手上述评论的,我们使用类似的文件夹层次为我们的发展以及
server.js (node http server)
app/
| app.js (express app)
| api/
| router.js (express master router to handler "/"
| exampleApi/
| exampleRouter.js (routes for example api)
PS: 我们用下面yoeman生成器生成上面的文件夹结构,我们 yaoeman generator npmjs link, yo-dodan git repo (以获得文件结构的想法)
可能的重复[如何在Express中包含多个文件中的路由处理程序?](https://*.com/questions/6059246/how-to-include-route-handlers -in-multiple-files-in-express) – jsalonen
可能的答案也在:https://*.com/questions/33946972/how-to-split-node-js-files-in-several-files – jsalonen
我认为这将是更有利的保持所有的路线在一个文件,但有这些路由在不同的文件中调用函数。这样你就可以在一个地方完成所有路由,但可以分离业务逻辑功能。 – Matthew