المستندات غير الرسمية ، وقم بتنظيم النص وأمثلة من المستندات الرسمية الخاصة بك للبحث السريع.
لماذا تستخدم Sea.js؟
Sea.js يتابعون أساليب كتابة الكود والرمز الطبيعية والطبيعية ، مع الميزات الأساسية التالية:
مواصفات تعريف الوحدة النمطية البسيطة والودية: Sea.js يتبع مواصفات CMD ويمكنها كتابة رمز الوحدة النمطية مثل Node.js.
منظمة التعليمات البرمجية الطبيعية والبديهية: يتيح لنا التحميل التلقائي للتبعيات والتكوين الموجز والواضح الاستمتاع بمزيد من الترميز.
يوفر Sea.js أيضًا ملحقات شائعة ، والتي تعد مفيدة للغاية لتصحيح الأخطاء في التنمية وتحسين الأداء ، ولديها واجهات غنية قابلة للتمديد.
التوافق
Sea.js لديه حالات اختبار كاملة ومتوافقة مع جميع المتصفحات الرئيسية:
Chrome 3+
Firefox 2+
Safari 3.2+
أوبرا 10+
أي 5.5+
يمكن تشغيل Sea.js على جانب الهاتف المحمول ، بما في ذلك تطبيق الوضع الهجين. من الناحية النظرية ، يمكن أن تعمل Sea.js على أي محرك متصفح.
seajs.configobject
اسم الاسم المستعار
تكوين الاسم المستعار ، بعد التكوين ، يمكنك استخدام طلب الاتصال ("jQuery") ؛
seajs.config ({alias: {'jQuery': 'jQuery/jQuery/1.10.1/jQuery'}}) ؛ define (function (require ، orports ، module) {// jquery module var $ = require ('jQuery') ؛}) ؛كائن المسارات
تعيين مسارات لتسهيل مكالمات التقاطع. عن طريق ضبط المسار بمرونة ، يمكنك تحديد دليل معين دون التأثير على القاعدة.
seajs.config ({// تعيين مسارات المسار: {'Gallery': 'https://a.alipayobjects.com/gallery'} ، // قم بتعيين الأسماء المستعارة لتسهيل المكالمات إلى الاسم المستعار: {'underscore': 'Gallery/UndersCore'}}) ؛ define (function (require ، exports ، module) {var _ = require ('Underscore') ؛ // => يتم تحميل https://a.alipayobjects.com/gallery/underscore.js}) ؛كائن VARS
التكوين المتغير. في بعض السيناريوهات ، لا يمكن تحديد مسار الوحدة إلا أثناء وقت التشغيل ، ويمكنك استخدام متغير VARS لتكوينه.
يتم تكوين VARS مع القيمة المتغيرة في معرف الوحدة ، ويتم تمثيل المتغير بواسطة {key} في معرف الوحدة النمطية.
seajs.config ({// configuration configuration vars: {'locale': 'zh-cn'}}) ؛ define (function (require ، orports ، module) {var lang = require ('./ i18n/{locale} .js') ؛ // => the path/to/i18n/zh-cn.js}) ؛صفيف الخريطة
يمكن لهذا التكوين تعيين مسارات الوحدة النمطية وتعديلها ، ويمكن استخدامها لتحويل المسار ، وتصحيح الأخطاء عبر الإنترنت ، إلخ.
seajs.config ({map: [['.js' ، '-debug.js']]}) ؛ define (function (require ، orports ، module) {var a = require ('./ a') ؛ // => the boaded is path/to/a debug.js}) ؛صفيف التحميل المسبق
باستخدام عنصر تكوين التحميل المسبق ، يمكنك تحميل الوحدة النمطية المحددة وتهيئتها مقدمًا قبل تحميل الوحدة العادية.
سيتم تجاهل السلسلة الفارغة في التحميل المسبق.
// في المتصفحات القديمة ، قم بتحميل وحدات ES5 و JSON Seajs.Config ({preload: [function.prototype.bind؟ '': 'es5-safe' ، this.json؟ '': 'Json']}) ؛ملاحظة: يجب تحميل التكوين في التحميل المسبق حتى الاستخدام. على سبيل المثال:
seajs.config ({preload: 'a'}) ؛ // قبل التحميل b ، سيضمن أن الوحدة A قد قامت بتحميل وتنفيذ Seajs.use ('./ b') ؛لا يمكن وضع تكوين التحميل المسبق في ملف الوحدة النمطية:
seajs.config ({preload: 'a'}) ؛ define (function (require ، orports) {// عند التنفيذ هنا ، لا يمكن ضمان تحميل الوحدة A وتنفيذها}) ؛Debug Boolean
عندما تكون القيمة صحيحة ، لا يحذف المحمل علامة البرنامج النصي المدرجة ديناميكيًا. يمكن أن يقرر المكون الإضافي أيضًا إخراج السجل والمعلومات الأخرى بناءً على تكوين التصحيح.
سلسلة قاعدة
سوف SEA.JS تحليل المعرف المستوى الأعلى بالنسبة إلى المسار الأساسي.
ملاحظة: بشكل عام ، يرجى عدم تكوين المسار الأساسي. غالبًا ما يكون وضع Sea.js في المسار المناسب أبسط وأكثر اتساقًا.
charsetstring | وظيفة
سمة charset من علامة <script> أو <ink> عند الحصول على ملف الوحدة النمطية. الافتراضي هو UTF-8
يمكن أن يكون Charset أيضًا وظيفة:
seajs.config ({charset: function (url) {// يتم تحميل الملفات الموجودة في دليل xxx في ترميز GBK if (url.indexof ('http://example.com/js/xxx') === 0) {return '؛وظيفة seajs.use
تستخدم لتحميل وحدة أو أكثر في صفحة. seajs.use (معرف ، رد الاتصال؟)
// تحميل وحدة Seajs.use ('./ a') ؛ // تحميل وحدة نمطية ، قم بتنفيذ seajs.use callback ('./' ، وظيفة (a) {a.dosomething () ؛}) ؛ملاحظة: Seajs.use لا علاقة له بحدث DOM Ready. إذا تم تنفيذ عمليات معينة بعد DOM جاهزة ، فأنت بحاجة إلى استخدام مكتبات الفصل مثل jQuery لضمان ذلك. على سبيل المثال
seajs.use (['jquery' ، './main'] ، function ($ ، main) {$ (document) .Ready (function () {main.init () ؛}) ؛}) ؛ملاحظة: يجب أن تكون المعلمة الأولى لطريقة الاستخدام موجودة ، ولكن يمكن أن تكون فارغة أو متغيرة
var bootstrap = ['bootstrap.css' ، 'bootstrap-responsive.css' ، 'bootstrap.js'] ؛ seajs.use (bootstrap ، function () {// do something}) ؛seajs.cache ojbect
من خلال seajs.cache ، يمكنك التحقق من جميع معلومات الوحدة النمطية في نظام الوحدة النمطية الحالية.
على سبيل المثال ، فتح seajs.org ، ثم أدخل seajs.cache في لوحة وحدة التحكم في أدوات مطور WebKit ، ويمكنك رؤية:
كائن> http://seajs.org/docs/assets/main.js: x> https://a.alipayobjects.com/jquery/jquery/1.10.1/jquery.js: x> __proto__
هذه هي الوحدات المستخدمة في الصفحة الرئيسية للوثيقة. قم بتوسيع عنصر لرؤية المعلومات المحددة للوحدة. يمكن العثور على المعنى في قسم الوحدة النمطية من مواصفات تعريف وحدة CMD.
Seajs.Reslove وظيفة
على غرار المتطلبات. حل ، ستستخدم الآلية الداخلية لنظام الوحدة النمطية دقة المسار لمعلمات السلسلة الواردة.
seajs.resolve ('jQuery') ؛ // => http: //tpath/to/jquery.jsseajs.resolve ('./a' ، 'http://example.com/to/b.js') ؛// => http://example.com/to/a.jsلا يمكن استخدام طريقة Seajs.Resolve لتصحيح ما إذا كان دقة المسار صحيحة ، ولكن أيضًا في بيئة تطوير المكونات الإضافية.
seajs.data كائن
من خلال seajs.data ، يمكنك عرض جميع تكوينات Seajs وقيم بعض المتغيرات الداخلية ، والتي يمكن استخدامها لتطوير المكونات. يمكن أيضًا استخدامه لتصحيح الأخطاء عند حدوث مشاكل التحميل.
الأسئلة المتداولة
حول تحديد الوحدة النمطية
معرفات وحدة Seajs هي سلاسل الجمل الصغيرة ،. أو ..
// في مصنع http://example.com/js/a.js: requist.Resolve ('./ b') ؛ // => http://example.com/js/b.js// في مصنع http://example.com/js/a.js: requist.Resolve ('../ c') ؛ // => http://example.com/C.JSوهي مقسمة إلى شعارات نسبية وأعلى مستوى. إذا بدأ مع. أو. ، إنه معرف نسبي. مفتاح سلسلة الجمل الصغيرة هو معرف المستوى الأعلى.
// افترض أن المسار الأساسي هو: http://example.com/assets/// في رمز الوحدة النمطية: require.Resolve ('Gallery/jQuery/1.9.1/jQuery') ؛ // => http://example.com/assets/gallery/jquery/1.9.1/jquery.jsحول المسار
بالإضافة إلى تحديد هوية عالية المستوى نسبيًا ، يمكن لـ Seajs أيضًا استخدام المسارات العادية لتحميل الوحدات النمطية.
دعنا نذهب إلى تحليل البرنامج النصي للصفحة الحالية (يمكنك النقر بزر الماوس الأيمن لعرض رمز المصدر)
// مسار sea.js ، أي المسار الأساسي ، نسبة إلى الصفحة الحالية <script src = "http://yslove.net/actjs/assets/sea-modules/seajs/2.1.1/sj.js"> </swntpript> <ript> <nclupt/"text/javaRced // التعرف على المستوى الأعلى ، استنادًا إلى المسار الأساسي "ACTJS": "ACTJS/CORE/0.0.7/CORE.JS" ، // => http: // 'position': 'actjs/util/0.0.2/position.js'}) ؛ '../../actjs/assets/widget/src/widget-affix.js' ، // المعرف النسبي ، نسبة إلى الصفحة الحالية 'init': './src/init.js'}}) ؛ </script>
في البداية ، أشعر أن مسار Seajs غير معتاد عليه بعض الشيء ، لأنه المسار الأساسي. تذكر أن المسار الأساسي هو المسار العلوي للملف في Sea.js ، ثم يتم ضبط جميع المعرفات ذات المستوى الأعلى والمعرفات النسبية بالنسبة لهذه القاعدة.