当response.send文件给我更多控制权时,express.static的实际用途是什么?

时间:2018-01-07 22:32:00

标签: node.js express

以下代码行告诉node.js在哪里可以找到静态文件,例如.htm,.css,.jpg等等。

app.use(express.static(path.join(__dirname, 'public')));

但是,如果我需要提供静态文件,我可以简单地创建指向我需要提供的确切文件的路由。

app.get('/', function(request, response) {
    response.sendfile('public/index.htm');
});

除边缘情况外,为什么有人想要在没有路由的情况下提供其网站的静态文件?我可以安全地不在我的服务器应用程序中包含该行吗?也许它有实际用途,但作为一个菜鸟,我看不到它。非常感谢任何建议!

1 个答案:

答案 0 :(得分:3)

因为如果你有数十个图像,图像精灵,JS和CSS文件,字体,音频,视频等等,不仅仅是SPA(不是说那里有什么问题,但Express是在SPA和PWA普及之前,你绝对不想为所有写一条单独的快速路线。您的路由器文件将是巨大的,并且这些条目中很少有很少与API有关(这是Express和应用程序应该关注的)。