[英]Serve an entire /directory using an express server
我有一个快速服务器,我想提供路由处理来管理整个目录。
root
/html
/css
/js
/app.js
/images
/index.html
/some-other.html
/server.js
我是否需要使用单独服务每个文件
app.get('/', (req, res) => {
res.send(htmlPath + '/index.html');
});
并为我正在服务的每个.html
文件调整它,或者我可以将/path-to-file
分配为变量并将变量连接到htmlPath
。
此外,以下是定义路径/目录名称的正确语法吗
var htmlPath = path.join(__dirname, "html/");
app.use(express.static("html"));
app.use(express.static(__dirname));
app.use(express.static(path.join(__dirname, "/html")));
我相对较新,并且一直在关注其他各种问题和答案以达到我现在的位置。
根据 SOLID 原则和 MCV 结构,我建议您将目录的每个部分处理在一个单独的文件中。
root
/app
/statics
/images
/css
/views
/index.html
/some-other.html
/routes
/statics.js
/views.js
/index.js
/app.js
/server.js
所以有了这个结构,你就有了一个路由目录来处理所有的路由。 在 index.js(Routes) 中,您将每个请求发送到正确的路由文件:
const staticsRouter = require('./statics');
const viewsRouter = require('./views');
module.exports = (app) => {
app.use('/statics',staticsRouterr);
app.use('/views',viewsRouter);
}
并在路由器文件中响应每个请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.