Ответ 1
res.sendFile(path_to_file);
- это все, что вам нужно; он автоматически установит правильные заголовки и перенесит файл (он внутренне использует тот же код, что и express.static
).
Я уже видел и использовал:
app.use("/css", express.static(__dirname + '/css'));
Я не хочу обслуживать все файлы из корневого каталога, только один файл, 'ipad.htm'. Каков наилучший способ сделать это с минимальным количеством кода, используя express.js?
res.sendFile(path_to_file);
- это все, что вам нужно; он автоматически установит правильные заголовки и перенесит файл (он внутренне использует тот же код, что и express.static
).
app.use("/css/myfile.css", express.static(__dirname + '/css/myfile.css'));
Я опубликовал небольшую библиотеку для обслуживания одиночных статических файлов: 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".
fs.createReadStream(path).pipe(res);