如何管理 NodeJs 应用程序代码以减少混乱
How to manage NodeJs app code to reduce clutter
嘿,
我正在开发一个 Nodejs (Express) 网络应用程序,并且对这项技术非常陌生。到目前为止,我看到只有一个入口点是我的 server.js
文件。现在似乎所有请求 and/or 进程都应该在这里启动,这对于较小的应用程序来说很好,但是我的站点已经有大约 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 进程。
我认为您正在寻找的是在本地模块中拆分代码。您可以将部分代码放在单独的文件中,在末尾包含 module.exports
,然后将它们 require(./filename.js)
放在 server.js.
中
你可以在这里看到一个例子:https://www.tutorialsteacher.com/nodejs/nodejs-local-modules
是的,你必须构建你的路线。为此,您必须查看 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);
此外,请查看以下链接以更好地了解项目结构和快速路由器。
嘿,
我正在开发一个 Nodejs (Express) 网络应用程序,并且对这项技术非常陌生。到目前为止,我看到只有一个入口点是我的 server.js
文件。现在似乎所有请求 and/or 进程都应该在这里启动,这对于较小的应用程序来说很好,但是我的站点已经有大约 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 进程。
我认为您正在寻找的是在本地模块中拆分代码。您可以将部分代码放在单独的文件中,在末尾包含 module.exports
,然后将它们 require(./filename.js)
放在 server.js.
你可以在这里看到一个例子:https://www.tutorialsteacher.com/nodejs/nodejs-local-modules
是的,你必须构建你的路线。为此,您必须查看 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);
此外,请查看以下链接以更好地了解项目结构和快速路由器。