elide dev і elide serve роздають каталог із файлами або запускають серверний скрипт.
elide dev ./public
elide serve ./dist| Команда | Адреса за замовчуванням | Перезавантаження після зміни файлу |
|---|---|---|
elide dev | 127.0.0.1:3000 | HTML-сторінки, коли роздається каталог |
elide serve | 127.0.0.1:8080 | Ні |
Для каталогу запускається файловий сервер; скрипт виконується як програма й не перезавантажується.
~/demo elide dev site --no-tui --port 43765 &
Dev server for directory: "site"
Dev server: site at http://127.0.0.1:43765
~/demo curl -s http://127.0.0.1:43765 | head -2
GET / 200 (164us)
<!doctype html>
<h1>Hello, Ada!</h1>
~/demo sed -i.bak 's/Ada/Grace/' site/index.html
[watch] Create /home/demo/demo/site/sedsHkWQG
~/demo curl -s http://127.0.0.1:43765 | head -2
GET / 200 (112us)
<!doctype html>
<h1>Hello, Grace!</h1>
| Прапорець | Дія |
|---|---|
--host HOST | Хост для прив’язки. |
--port PORT | Порт для прив’язки. |
--no-tui | Простий вивід журналу замість TUI. |
--no-watch | Лише для dev: без стеження й перезавантаження. |
--contexts=N | Запускає N копій застосунку; auto визначає кількість за ядрами CPU. Лише Linux. |
Роздавання каталогу
| Запит | Відповідь |
|---|---|
/, /docs, /docs/ | index.html каталогу |
Каталог без index.html | 404; списків вмісту каталогів немає |
/about, коли існує лише about.html | 404; посилайтеся на about.html |
Файл, що починається з крапки, як-от /.env | 404. /.well-known/ роздається. |
Символьне посилання, що вказує за межі каталогу, або .. у шляху | 404 |
POST та інші методи | 405 від elide serve; elide dev відповідає як на GET |
Content-Typeвизначається за розширенням файлу:text/html; charset=utf-8,text/css,text/javascript,application/json,application/wasm,image/pngтощо.- Файли надсилаються цілком, без стиснення, без
ETag,Last-ModifiedчиCache-Control; наRangeта умовні запити повертається повна відповідь200. Для кешування й стиснення поставте попереду CDN або зворотний проксі. elide devдодає до кожної HTML-сторінки скрипт перезавантаження й перезавантажує її, коли змінюється будь-який файл у каталозі.
Запуск обробника fetch
// entrypoint.mjs
export default {
async fetch(request) {
return new Response("ok");
},
};elide serve entrypoint.mjselide run entrypoint.mjs також обслуговує запити — на експортованих hostname і port або на 127.0.0.1:8080.
Elide.serve({ port: 3005, fetch }) з будь-якою командою використовує власну адресу.
Обслуговування запитів у кількох контекстах
elide serve --contexts=4 entrypoint.mjs- Кожен контекст виконує модуль точки входу один раз і має власні глобальні змінні, тож лічильник запитів рахує окремо для кожного контексту.
- З’єднання залишається в одному контексті впродовж усього часу існування, включно із запитами keep-alive.
- Якщо один контекст дає збій, сервер зупиняється.
Для точнішого керування задайте engine.contexts в elide.pkl; див.
Контексти рушія.