猿问

使用express.js的静态文件

使用express.js的静态文件

我想将服务index.html/media子目录作为静态文件。索引文件应该在/index.html/URL处提供。

我有

web_server.use("/media", express.static(__dirname + '/media'));web_server.use("/", express.static(__dirname));

但第二行显然服务于整个__dirname,包括其中的所有文件(不只是index.htmlmedia),我不想要。

我也试过了

web_server.use("/", express.static(__dirname + '/index.html'));

但访问基本URL /然后导致对web_server/index.html/index.html(双index.html组件)的请求,当然这会失败。

有任何想法吗?


顺便说一句,我可以在Express中找到关于这个主题的绝对文档(static()+它的参数)......令人沮丧。文档链接也是受欢迎的。


茅侃侃
浏览 832回答 3
3回答

MYYA

express.static()期望第一个参数是目录的路径,而不是文件名。我建议创建另一个子目录来包含你的index.html并使用它。在Express 文档中提供静态文件,或更详细的serve-static文档,包括服务的默认行为index.html:默认情况下,此模块将发送“index.html”文件以响应目录上的请求。要禁用此设置false或提供新索引,请按首选顺序传递字符串或数组。

MMTTMM

在最新版本的express中,不推荐使用“createServer”。这个例子对我有用:var express = require('express');var app = express();var path = require('path');//app.use(express.static(__dirname)); // Current directory is rootapp.use(express.static(path.join(__dirname, 'public'))); //  "public" off of current is rootapp.listen(80);console.log('Listening on port 80');
随时随地看视频慕课网APP

相关分类

Node.js
我要回答