【问题标题】:How to manage NodeJs app code to reduce clutter如何管理 NodeJs 应用程序代码以减少混乱
【发布时间】:2020-06-19 09:50:46
【问题描述】:

喂,

我正在开发一个 Nodejs (Express) 网络应用程序,并且对这项技术非常陌生。到目前为止,我看到我的server.js 文件只有一个入口点。现在似乎所有请求和/或进程都应该在这里启动,这对于较小的应用程序来说很好,但是我的网站已经有大约 25 个页面路由,所有的请求都应该在这里处理。我也有十几个 Ajax 请求在这里处理。现在即使我在不​​同的文件中处理不同的功能,例如 CRUD 操作,我仍然担心在某些时候我的代码会因为 server.js 文件变长而变得不可读

const express = require("express")
const path = require("path")
const exphbs = require("express-handlebars")

let app = express()

app.set("views",path.join(__dirname,'templates'))
app.engine('handlebars',exphbs({defaultLayout:'main'}))
app.set('view engine','handlebars')

app.set('port',(process.env.PORT || 3000));

app.get('/',(req,res)=>{
    res.render('home',{'title':'Home'});
});
app.get('/home',(req,res)=>{
    res.render('home',{'title':'Home'});
});
app.get('/register',(req,res)=>{
    res.render('register',{'title':'Register'});
});
app.use(express.static(path.join(__dirname, '/public')));

app.listen(app.get('port'),()=>{
    console.log(`Server started on port : ${app.get('port')}`)
})

到目前为止,我的 server.js 这么小,但让我印象深刻的是,我有 25 个页面,每个页面上有多个 Ajax 进程。

【问题讨论】:

    标签: node.js readability clutter


    【解决方案1】:

    是的,您必须构建您的路线。为此,您必须查看 Express Router。您必须根据特定资源创建不同的路由文件。

    /routes/homeRoutes.js

    const express = require("express");
    const router = express.Router();
    router.get('/',(req,res)=>{
           res.render('home',{'title':'Home'});
    });
    
    module.exports = router;
    

    server.js

    const homeRoutes = require("./routes/homeRoutes");
    app.use("/api/v1/home", homeRoutes);
    

    另外,请查看以下链接,以更好地了解项目结构和快速路由器。

    【讨论】:

      【解决方案2】:

      我认为您正在寻找的是将代码拆分为本地模块。您可以将部分代码放在单独的文件中,在末尾包含 module.exports,然后在 server.js 中包含 require(./filename.js)

      您可以在此处查看示例:https://www.tutorialsteacher.com/nodejs/nodejs-local-modules

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-30
        • 1970-01-01
        • 1970-01-01
        • 2021-03-30
        • 1970-01-01
        相关资源
        最近更新 更多