Seajs هو إطار تحميل وحدة JavaScript يتبع مواصفات CommonJS. إنها أداة تحميل الوحدة النمطية الحديثة لتطوير الويب ، مما يوفر تجربة معيارية بسيطة وأطلسية. يتم الحفاظ على Sea.js بشكل مشترك من قبل Alibaba و Tencent وغيرها من الشركات.
فوائد استخدام sea.js:
Sea.js يتابعون أساليب كتابة الكود والرمز الطبيعية والطبيعية ، مع الميزات الأساسية التالية:
مواصفات تعريف الوحدة النمطية البسيطة والودية: Sea.js يتبع مواصفات CMD ويمكنها كتابة رمز الوحدة النمطية مثل Node.js.
منظمة التعليمات البرمجية الطبيعية والبديهية: يتيح لنا التحميل التلقائي للتبعيات والتكوين الموجز والواضح الاستمتاع بمزيد من الترميز.
يوفر Sea.js أيضًا ملحقات شائعة ، والتي تعد مفيدة للغاية لتصحيح الأخطاء في التنمية وتحسين الأداء ، ولديها واجهات غنية قابلة للتمديد.
أدناه سأقدم الوحدات الثلاث من SEA.JS
استخدام الصادرات ، الصادرات هو كائن يوفر واجهات الوحدة النمطية إلى الخارج.
define (function (require ، orports ، module) {var a = require ("./ init") ؛ var fun1 = function () {return A.Write ("module main ript method of module init") ؛} ؛ addors.fun1 = fun1 ؛}) ؛بالإضافة إلى إضافة أعضاء إلى كائن التصدير ، يمكنك أيضًا استخدام الإرجاع لتوفير واجهات مباشرة إلى الخارج.
define (function (require ، orports ، module) {var a = require ("./ init") ؛ var fun1 = function () {return A.Write ("minule main ript method of module init") ؛} ؛ return {fun1: fun1}})إذا لم يكن للوحدة أي منطق عمل ، فما عليك سوى إرجاع كائن ، يمكن تبسيطه إلى ما يلي
DEFINE ({fun1: function () {Alert ("fun1 call of module main بنجاح")}}) ؛هناك طريقة أخرى هي توفير واجهة موحدة من خلال module.exports ، على سبيل المثال:
تعريف (الوظيفة (تتطلب ، الصادرات ، الوحدة النمطية) {var a = require ("./ init") ؛ // هو الدليل الحالي ../ هو الدليل العلوي/هو الدليل الجذر var fun1 = function () {return A.Write ("الوحدة النمطية الرئيسية للمكالمات في الوحدة النمطية init") ؛} ؛ exports.b = function () ALERT ("BB")} ؛ module.exports = {fun1: fun1}}) ؛الصادرات هي مجرد إشارة إلى الوحدة النمطية. عند إعادة تعيين الصادرات داخل الطريقة ، لم يتم تغيير قيمة الوحدة النمطية. لذلك ، فإن تعيين قيمة الصادرات غير صالح. الطريقة أعلاه تكشف فقط متعة خارجية 1. تخصيص الطريقة B أعلاه ب غير صالح ولا يمكن استخدامه لتغيير واجهة الوحدة النمطية.
orports.async ()
requist.async (id || [] ، رد الاتصال؟)
يتم استخدام طريقة requist.async لتحميل الوحدة النمطية بشكل غير متزامن داخل الوحدة وتنفيذ رد الاتصال المحدد بعد اكتمال التحميل. معلمة رد الاتصال اختياري.
define (function (require ، orports ، module) {require.Async ('./ init' ، function (a) {A.Write ("module main ript method the init init")}) ؛ قدَّم")})؛})؛الوحدة النمطية هي كائن يخزن بعض الخصائص والطرق المرتبطة بالوحدة الحالية.
1 الوحدة النمطية
تحديد فريد للوحدة.
2 الوحدة النمطية
تم الحصول على مسار الوحدة النمطية المطلقة وفقًا لقواعد تحليل المسار لنظام الوحدة النمطية. بشكل عام ، قيمة الوحدة النمطية.
3 وحدة. صفيف الاعتماد
التبعيات هي صفيف يمثل تبعيات الوحدة الحالية.