Этот сервер вы сможете установить после установки Node.js Http-server можно установить менеджером пакетов npm из пакета Node.js, а можно протестировать без установки с помощью утилиты npx.
Создайте папку для сервера, например www в своём рабочем каталоге, поместите туда файл favicon.ico и index.html. Http-server (веб-сервер) поддерживает структуру каталогов. Можно создать подпапки. Перейдите в папку www и запускайте сервер:
dior@debian:~/www$ npx http-server npx: установлен 27 в 6.113s Starting up http-server, serving ./ Available on: http://127.0.0.1:8080 http://192.168.1.12:8080 Hit CTRL-C to stop the server [2020-03-06T14:07:12.101Z] "GET /" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.3.332 (beta) Yowser/2.5 Safari/537.36" (node:457) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated [2020-03-06T14:07:12.173Z] "GET /css/main.css" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.3.332 (beta) Yowser/2.5 Safari/537.36" [2020-03-06T14:07:12.183Z] "GET /js/flame.js" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.3.332 (beta) Yowser/2.5 Safari/537.36" [2020-03-06T14:07:12.211Z] "GET /favicon.ico" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.3.332 (beta) Yowser/2.5 Safari/537.36"
Для экспериментов предлагаем наши файлы (пути указаны относительно папки www в которой запущен сервер):
index.html
<HTML> <HEAD> <META charset="utf-8" /> <LINK href="/css/main.css" rel="stylesheet" /> </HEAD> <BODY id="body"> <H1>Привет мир!</H1> <SCRIPT src="/js/flame.js" type="text/javascript"></SCRIPT> </BODY> </HTML>
Важно: для этого сервера все относительные пути к файлам, указанным в html файле считаются относительными корня сервера (в нашем случае папка www).
/css/main.css
body{ font-size: 1000%; text-align: center; background-color: midnightblue; color: moccasin; text-shadow: red -6px 6px 8px; }
/js/flame.js
i=0; id=1; j=0; jd=1; k=0; kd=1; setInterval("animate()", 80); function animate(){ body.style.textShadow = i+'px '+j+'px '+k+'px red' i=i+id; j=j+jd; k=k+kd; if (i>23) id=-1; if (i<-27) id=1; if (j>19) jd=-1; if (j<-17) jd=1; if (k>31) kd=-1; if (k<13) kd=1; }
И, вы в праве получить результат:
Установка сервера http-server:
sudo npm install -g http-server
/usr/local/lib/nodejs/node-v12.16.1-linux-x64/bin/http-server -> /usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/http-server/bin/http-server
/usr/local/lib/nodejs/node-v12.16.1-linux-x64/bin/hs -> /usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/http-server/bin/http-server
+ Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript..1
added 27 packages from 35 contributors in 8.349s
Посмотрим параметры запуска этого веб-сервера:
http-server --help usage: http-server [path] [options] options: -p --port Port to use [8080] -a Address to use [0.0.0.0] -d Show directory listings [true] -i Display autoIndex [true] -g --gzip Serve gzip files when possible [false] -b --brotli Serve brotli files when possible [false] If both brotli and gzip are enabled, brotli takes precedence -e --ext Default file extension if none supplied [none] -s --silent Suppress log messages from output --cors[=headers] Enable CORS via the "Access-Control-Allow-Origin" header Optionally provide CORS headers list separated by commas -o [path] Open browser window after starting the server. Optionally provide a URL path to open the browser window to. -c Cache time (max-age) in seconds [3600], e.g. -c10 for 10 seconds. To disable caching, use -c-1. -t Connections timeout in seconds [120], e.g. -t60 for 1 minute. To disable timeout, use -t0 -U --utc Use UTC time format in log messages. --log-ip Enable logging of the client's IP address -P --proxy Fallback proxy if the request cannot be resolved. e.g.: http://someurl.com --username Username for basic authentication [none] Can also be specified with the env variable NODE_HTTP_SERVER_USERNAME --password Password for basic authentication [none] Can also be specified with the env variable NODE_HTTP_SERVER_PASSWORD -S --ssl Enable https. -C --cert Path to ssl cert file (default: cert.pem). -K --key Path to ssl key file (default: key.pem). -r --robots Respond to /robots.txt [User-agent: *\nDisallow: /] --no-dotfiles Do not show dotfiles -h --help Print this list and exit. -v --version Print the version and exit.
Запуск веб-сервера http-server из корневой папки сайта:
dior@debian:~/www$ http-server Starting up http-server, serving ./ Available on: http://127.0.0.1:8080 http://192.168.1.12:8080 Hit CTRL-C to stop the server [2020-03-06T14:20:07.027Z] "GET /" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.3.332 (beta) Yowser/2.5 Safari/537.36" [2020-03-06T14:20:07.052Z] "GET /css/main.css" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.3.332 (beta) Yowser/2.5 Safari/537.36" [2020-03-06T14:20:07.055Z] "GET /js/flame.js" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.3.332 (beta) Yowser/2.5 Safari/537.36" [2020-03-06T14:20:07.100Z] "GET /favicon.ico" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.3.332 (beta) Yowser/2.5 Safari/537.36"