يقدّم الأمران 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.mjsيخدم elide 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؛ راجع سياقات المحرّك.