يتم استخدام أداة التجميع الأساسية، المبنية على القاعدة والقوالب، في التجميع لتوفير الميزات الأساسية وواجهة برمجة التطبيقات (API) اللازمة لعرض القوالب، والعمل مع نظام الملفات، وتشغيل المهام.
يمكن للمنفذين والمتسللين استخدام التجميع الأساسي لإنشاء أدوات بناء غنية وقوية، أو أنظمة سقالات المشروع، أو مولدات الوثائق، أو حتى مولدات الموقع الثابتة المخصصة تمامًا.
(TOC تم إنشاؤه بواسطة الفعل باستخدام تخفيض السعر-toc)
إنشاء الخاصة بك:
الآلية الوقائية الوطنية
التثبيت باستخدام npm:
$ npm install --save assemble-core
غزل
تثبيت مع الغزل:
$ yarn add assemble-core && yarn upgrade
var assemble = require ( 'assemble-core' ) ;
var app = assemble ( ) ;
عرض المجموعات
إنشاء مجموعة عرض مخصصة:
var app = assemble ( ) ;
app . create ( 'pages' ) ;
يمكنك الآن إضافة صفحات باستخدام app.page()
أو app.pages()
:
app . page ( 'home.hbs' , { content : 'this is the home page!' } ) ;
يجعل
تقديم طريقة عرض:
var app = assemble ( ) ;
var view = app . view ( 'foo' , { content : 'Hi, my name is <%= name %>' } ) ;
app . render ( view , { name : 'Brian' } , function ( err , res ) {
console . log ( res . content ) ;
//=> 'Hi, my name is Brian'
} ) ;
تقديم طريقة عرض من مجموعة:
var app = assemble ( ) ;
app . create ( 'pages' ) ;
app . page ( 'foo' , { content : 'Hi, my name is <%= name %>' } )
. set ( 'data.name' , 'Brian' )
. render ( function ( err , res ) {
console . log ( res . content ) ;
//=> 'Hi, my name is Brian'
} ) ;
إنشاء تطبيق assemble
. هذه هي الوظيفة الرئيسية التي يتم تصديرها بواسطة وحدة التجميع.
بارامس
options
{Object} : قم بتمرير الخيارات الافتراضية للاستخدام بشكل اختياري.مثال
var assemble = require ( 'assemble' ) ;
var app = assemble ( ) ;
يحتوي التجميع على الطرق التالية للعمل مع نظام الملفات:
يمتلك الإصدار 0.6.0 من Assemble دعمًا كاملاً لـ Vinyl-FS، لذا يجب أن يعمل أي مكون إضافي من gulp مع التجميع.
استخدم واحدًا أو أكثر من الأنماط الشاملة أو مسارات الملفات لتحديد الملفات المصدر.
بارامس
glob
{String|Array} : أنماط الكرة الأرضية أو مسارات الملفات إلى الملفات المصدر.options
{Object} : الخيارات أو السكان المحليون للدمج في السياق و/أو التمرير إلى مكونات src
الإضافيةمثال
app . src ( 'src/*.hbs' , { layout : 'default' } ) ;
حدد الوجهة المراد استخدامها للملفات المعالجة.
بارامس
dest
{String|Function} : مسار الملف أو وظيفة إعادة التسمية المخصصة.options
{Object} : الخيارات والسكان المحليون لتمريرها إلى المكونات الإضافية dest
مثال
app . dest ( 'dist/' ) ;
انسخ الملفات من A إلى B، حيث A
هو أي نمط قد يكون صالحًا في app.src و B
هو دليل الوجهة.
بارامس
patterns
{String|Array} : واحد أو أكثر من مسارات الملفات أو أنماط الكرة الأرضية لنسخ الملفات المصدر.dest
{String|Function} : دليل الوجهة.returns
{Stream} : يتم إرجاع الدفق، حتى تتمكن من متابعة معالجة الملفات إذا لزم الأمر.مثال
app . copy ( 'assets/**' , 'dist/' ) ;
أنماط الكرة الأرضية أو مسارات الارتباطات الرمزية.
بارامس
glob
{سلسلة|صفيف}مثال
app . symlink ( 'src/**' ) ;
يحتوي التجميع على الطرق التالية لتشغيل المهام والتحكم في سير العمل:
تحديد مهمة. المهام هي وظائف يتم تخزينها في كائن tasks
، مما يسمح باستدعائها لاحقًا بواسطة طريقة الإنشاء. (يتم إنشاء مكالمات CLI لتشغيل المهام)
بارامس
name
{سلسلة} : اسم المهمةfn
{Function} : الوظيفة التي يتم استدعاؤها عند تشغيل المهمة.مثال
app . task ( 'default' , function ( ) {
return app . src ( 'templates/*.hbs' )
. pipe ( app . dest ( 'dist/' ) ) ;
} ) ;
تشغيل مهمة واحدة أو أكثر.
بارامس
tasks
{Array|String} : اسم المهمة أو مجموعة أسماء المهام.cb
{Function} : وظيفة رد الاتصال التي تكشف err
مثال
app . build ( [ 'foo' , 'bar' ] , function ( err ) {
if ( err ) console . error ( 'ERROR:' , err ) ;
} ) ;
مشاهدة الملفات، وتشغيل مهمة واحدة أو أكثر عندما يتغير ملف مراقب.
بارامس
glob
{String|Array} : مسارات الملفات أو أنماط الكرة الأرضية.tasks
{المصفوفة} : المهمة (المهام) المراد مشاهدتها.مثال
app . task ( 'watch' , function ( ) {
app . watch ( 'docs/*.md' , [ 'docs' ] ) ;
} ) ;
كيف يختلف التجميع الأساسي عن التجميع؟
ميزة | تجميع الأساسية | تجمع | ملحوظات |
---|---|---|---|
تحليل المادة الأمامية | لا | نعم | استخدم التجميع أو استخدم المحلل اللغوي كبرنامج وسيط .onLoad . |
سطر الأوامر | لا | نعم | قم بإنشاء تجربة CLI الخاصة بك، أو استخدم التجميع |
مجموعات القوالب المضمنة | لا | نعم | استخدم .create() لإضافة مجموعات |
محرك القالب المدمج | لا | نعم | تجميع السفن بمقود المحرك. استخدم .engine() لتسجيل أي محرك قالب متوافق مع الدمج. |
يعد assemble-core تطبيقًا مستقلاً تم إنشاؤه باستخدام التطبيقات والمكونات الإضافية من مجموعة الأدوات:
اللبنات الأساسية
الإضافات
تم بناء Assemble على رأس هذه المشاريع الرائعة:
يعد تشغيل اختبارات الوحدة ومراجعتها طريقة رائعة للتعرف على المكتبة وواجهة برمجة التطبيقات (API) الخاصة بها. يمكنك تثبيت التبعيات وإجراء الاختبارات باستخدام الأمر التالي:
$ npm install && npm test
طلبات السحب والنجوم مرحب بها دائمًا. بالنسبة للأخطاء وطلبات الميزات، يرجى إنشاء مشكلة.
يرجى قراءة دليل المساهمة للحصول على المشورة بشأن المشكلات المفتوحة وطلبات السحب ومعايير الترميز.
إذا لم يقم برنامج Assemble بما تحتاج إليه، فيرجى إخبارنا بذلك.
يتم تصنيف إدخالات سجل التغيير باستخدام التسميات التالية من الاحتفاظ بسجل التغيير:
added
: لميزات جديدةchanged
: للتغييرات في الوظائف الحاليةdeprecated
: للميزات التي كانت مستقرة سابقًا والتي تمت إزالتها في الإصدارات القادمةremoved
: للميزات المهملة التي تمت إزالتها في هذا الإصدارfixed
: لأي إصلاحات الشوائبالتصنيفات المخصصة المستخدمة في سجل التغيير هذا:
dependencies
: المطبات التبعياتhousekeeping
: إعادة تنظيم التعليمات البرمجية، أو التعديلات الطفيفة، أو التغييرات الأخرى التي لا تتناسب مع إحدى الفئات الأخرى.انتباه!
يرجى إعلامنا إذا كان أي من روابط العناوين التالية معطلاً. شكرًا!
التبعيات
view
بـ .toStream()
عند إنشائه بواسطة التطبيق (بدلاً من المجموعة). يمكن القول إن هذا إصلاح للأخطاء، ولكنه قد يؤدي إلى كسر التعليمات البرمجية الخاصة بشخص ما. التبعيات
التبعيات
.dest()
. التبعيات
list
التبعيات
التبعيات
handle.once
تغير
التبعيات
تمت إزالته
templates
إلى إزالة خيار renameKey
من الأسلوب .data
. استخدم خيار namespace
بدلاً من ذلك. مُثَبَّت
التبعيات
.find
و getView
. لم يتم إجراء أي تغييرات على واجهة برمجة التطبيقات. يرجى إعلامنا في حالة حدوث تراجعات.مُثَبَّت
List
الذي تسبب في انفجار مساعدي التجميعتغير
app.getView()
و app.find()
التبعيات
تمت إزالته
queue
في المجموعات. انظر القوالب للحصول على تفاصيل إضافية. التبعيات
تغير
التبعيات
التدبير المنزلي
التبعيات
renameKey
يُستخدم دائمًا عند تحديده في خيارات أداة تحميل المجموعة.التبعيات
التبعيات
التبعيات
التبعيات
مهمل
.handleView
، استخدم .handleOnce
بدلاً من ذلكتغير
.mergePartialsSync
إلى .mergePartials
لتكون متسقة مع التحديثات الأخرى في .render
و .compile
.وأضاف
.log
، .verbose
، إلخ).mergePartials
لتكون غير متزامنة. إذا كنت تستخدم حاليًا .mergePartials
، فيمكنك الاستمرار في القيام بذلك بشكل متزامن باستخدام الأسلوب .mergePartialsSync
. .watch
لصالح استخدام المكون الإضافي الأساسي للمراقبة. isType
للتحقق من نوع المجموعة، وعدد من التحسينات على كيفية إنشاء المجموعات وطرق العرض وتسميتها. onStream
و preWrite
.(سجل التغيير الذي تم إنشاؤه بواسطة سجل التغيير المساعد)
جون شلينكيرت
بريان وودوارد
حقوق الطبع والنشر © 2017، جون شلينكرت. معهد ماساتشوستس للتكنولوجيا
تم إنشاء هذا الملف بواسطة الملف التمهيدي لإصدار الفعل v0.4.2 بتاريخ 11 فبراير 2017.