我已经看到并利用了:
app.use("/css", express.static(__dirname + '/css'));
Run Code Online (Sandbox Code Playgroud)
我不希望从根目录提供所有文件,只有一个文件'ipad.htm'.使用express.js,使用最少量的代码执行此操作的最佳方法是什么?
ebo*_*man 93
res.sendFile(path_to_file);是你所需要的全部; 它会自动设置正确的标题并传输文件(它在内部使用相同的代码express.static).
app.use("/css/myfile.css", express.static(__dirname + '/css/myfile.css'));
Run Code Online (Sandbox Code Playgroud)
如果您只想提供单个静态文件,则可以使用以下语法(基于原始问题的示例,根目录下的 ipad.htm):
app.use('/ipad.htm', express.static(__dirname, {index: 'ipad.htm'}));
Run Code Online (Sandbox Code Playgroud)
express.static( dir )的默认行为是它会尝试从所需的dir发送一个“index.html”文件。该指数选项覆盖此行为,并让您挑选预期的文件,而不是。
我发布了一个用于服务单个静态文件的小型库:https : //www.npmjs.com/package/connect-static-file
npm install connect-static-file
var staticFile = require('connect-static-file');
app.use('/ipad', staticFile(__dirname + '/ipad.html'));
与 express.static 的主要区别在于它不关心请求 url,如果路由匹配,它总是提供该文件。如果您将目录命名为“ipad.html”,它不会突然开始为整个目录提供服务。
Pic*_*els -4
fs.createReadStream(path).pipe(res);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26547 次 |
| 最近记录: |