繁体   English   中英

使用快速服务器提供整个 / 目录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM