"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > خدمة الملفات الثابتة Node.js عالية الأداء - باستخدام Rust

خدمة الملفات الثابتة Node.js عالية الأداء - باستخدام Rust

تم النشر بتاريخ 2024-11-04
تصفح:676

منذ بضعة أشهر أصدرنا Encore.ts - إطار عمل خلفي مفتوح المصدر لـ TypeScript / Node.js.

نظرًا لوجود العديد من أطر العمل بالفعل، نريد مشاركة بعض قرارات التصميم الخارجية التي اتخذناها وكيف تؤدي إلى تحسين الأداء وتجربة المطورين.

خدمة الملفات الثابتة في Node.js، باستخدام Rust للحصول على أداء عالي

يأتي Encore.ts مزودًا بدعم مدمج لخدمة الأصول الثابتة (مثل الصور وملفات HTML وCSS وملفات JavaScript).

يعد هذا مفيدًا عندما تريد خدمة موقع ويب ثابت أو تطبيق من صفحة واحدة (SPA) تم تجميعه مسبقًا في ملفات ثابتة.

عند تحديد الملفات الثابتة، يتم تقديم الملفات مباشرة من Encore.ts Rust Runtime.

وهذا يعني أنه لا يتم تنفيذ تعليمات برمجية JavaScript لخدمة الملفات، مما يحرر وقت تشغيل Node.js للتركيز على تنفيذ منطق الأعمال.

High performance Node.js static file serving — using Rust

يعمل هذا على تسريع عرض الملفات الثابتة بشكل كبير، بالإضافة إلى تحسين زمن الوصول لنقاط نهاية واجهة برمجة التطبيقات (API).

لقد قمنا مؤخرًا بنشر معايير توضح كيف أنها أسرع بمقدار 9 مرات من تطبيقات Node المستندة إلى Express.js.

مزيد من المعلومات في المستندات

مثال لتطبيق يوضح كيفية تقديم الملفات الثابتة باستخدام Encore.ts

مثال على الكود

يعمل عرض الملفات الثابتة في Encore.ts بشكل مشابه لتحديد نقاط نهاية واجهة برمجة التطبيقات، ولكن باستخدام وظيفة api.static بدلاً من وظيفة واجهة برمجة التطبيقات العادية.

import { api } from "encore.dev/api";

export const assets = api.static(
  { expose: true, path: "/frontend/*path", dir: "./assets" },
);

سيؤدي هذا إلى خدمة جميع الملفات الموجودة في دليل ./assets ضمن بادئة مسار الواجهة الأمامية.

يقوم Encore تلقائيًا بتقديم ملفات Index.html في جذر الدليل. في الحالة المذكورة أعلاه، يعني ذلك أن طلب عنوان URL /frontend سيخدم الملف ./assets/index.html، و/frontend/hello سيخدم الملف ./assets/hello أو ./assets/hello/index.html ( أيهما موجود).

التفاف

باستخدام وقت تشغيل قائم على Rust جنبًا إلى جنب مع Node.js، يستطيع Encore.ts تحسين أداء تطبيقات TypeScript.

إذا كان الأداء مهمًا لمشروعك، فقد تكون فكرة جيدة تجربة Encore.ts.

وكلها مفتوحة المصدر، لذا يمكنك التحقق من الكود والمساهمة على GitHub.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/encore/high-performance-nodejs-static-file-serving-using-rust-420m?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] للحذف هو - هي
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3