Для приложений на Node.js и ExpressJS, есть очень простой метод для отправки HTML файлов, да и вообще любых файлов. Это можно сделать при помощи метода res.sendFile(). Данный способ позволяет упростить разработку, когда вам необходим простой и быстрый HTTP сервер.
# Использование res.sendFile()
Для того, чтобы использовать res.sendFile, нам необходимо указать путь к файлу.
Так же нам понадобится встроенный модуль для работы с системными путями.
Ниже приведен пример res.sendFile() для отправки HTML страницы.
var express = require('express'); var app = express(); var path = require('path'); // viewed at http://localhost:8080 app.get('/', function(req, res) { res.sendFile(path.join(__dirname + '/index.html')); }); app.listen(8080);
# Пример кода
Необходимо запустить Node приложение. Это можно сделать при помощи следующих команд.
$ mkdir express-sendfileТеперь у нас есть основа для нашего приложения на Node. Файл server.js содержит конфигурацию маршрута для index.html.
$ cd sendfile
$ npm init
$ npm install express --save
$ touch server.js index.html
SERVER.JS
Код сервера:
var express = require('express'); var app = express(); var path = require('path'); // viewed at http://localhost:8080 app.get('/', function(req, res) { res.sendFile(path.join(__dirname + '/index.html')); }); app.listen(8080);
INDEX.HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Sample Site</title> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"> <style> body { padding-top:50px; } </style> </head> <body> <div class="container"> <div class="jumbotron"> <h1>res.sendFile() Works!</h1> </div> </div> </body> </html>
Теперь после запуска нашего сервера
$ node server.jsМы можем увидеть нашу страницу в браузере.
# Заключение
res.sendFile() очень простой метод в использовании. С его помощью можно даже организовать загрузку с сервера любых файлов. Express предоставляет большое количество удобных инструментов для пользователей Node.