使用express.js的静态文件我想将服务index.html和/media子目录作为静态文件。索引文件应该在/index.html和/URL处提供。我有web_server.use("/media", express.static(__dirname + '/media'));web_server.use("/", express.static(__dirname));但第二行显然服务于整个__dirname,包括其中的所有文件(不只是index.html和media),我不想要。我也试过了web_server.use("/", express.static(__dirname + '/index.html'));但访问基本URL /然后导致对web_server/index.html/index.html(双index.html组件)的请求,当然这会失败。有任何想法吗?顺便说一句,我可以在Express中找到关于这个主题的绝对文档(static()+它的参数)......令人沮丧。文档链接也是受欢迎的。
3 回答
MYYA
TA贡献1868条经验 获得超4个赞
express.static()
期望第一个参数是目录的路径,而不是文件名。我建议创建另一个子目录来包含你的index.html
并使用它。
在Express 文档中提供静态文件,或更详细的serve-static
文档,包括服务的默认行为index.html
:
默认情况下,此模块将发送“index.html”文件以响应目录上的请求。要禁用此设置false或提供新索引,请按首选顺序传递字符串或数组。
MMTTMM
TA贡献1869条经验 获得超4个赞
在最新版本的express中,不推荐使用“createServer”。这个例子对我有用:
var express = require('express');
var app = express();
var path = require('path');
//app.use(express.static(__dirname)); // Current directory is root
app.use(express.static(path.join(__dirname, 'public'))); // "public" off of current is root
app.listen(80);
console.log('Listening on port 80');
- 3 回答
- 0 关注
- 823 浏览
添加回答
举报
0/150
提交
取消