Dibangun di atas pangkalan dan templat, rakitan-core digunakan dalam rakitan untuk memberikan fitur dasar dan API yang diperlukan untuk rendering templat, bekerja dengan sistem file, dan menjalankan tugas.
Implementasi dan peretas dapat menggunakan rakitan-core untuk membuat alat pembangun yang kaya dan kuat, sistem perancah proyek, generator dokumentasi, atau bahkan generator situs statis Anda yang sepenuhnya kustom.
(TOC yang dihasilkan oleh kata kerja menggunakan markdown-toc)
Buat sendiri:
NPM
Instal dengan NPM:
$ npm install --save assemble-core
benang
Instal dengan benang:
$ yarn add assemble-core && yarn upgrade
var assemble = require ( 'assemble-core' ) ;
var app = assemble ( ) ;
Lihat Koleksi
Buat koleksi tampilan khusus:
var app = assemble ( ) ;
app . create ( 'pages' ) ;
Sekarang Anda dapat menambahkan halaman dengan app.page()
atau app.pages()
:
app . page ( 'home.hbs' , { content : 'this is the home page!' } ) ;
memberikan
Membuat pandangan:
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'
} ) ;
Membuat pemandangan dari koleksi:
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'
} ) ;
Buat Aplikasi assemble
. Ini adalah fungsi utama yang diekspor oleh Modul Perakitan.
Params
options
{Object} : Opsi Opsi Lulus Opsi Default Untuk Digunakan.Contoh
var assemble = require ( 'assemble' ) ;
var app = assemble ( ) ;
Perakitan memiliki metode berikut untuk bekerja dengan sistem file:
Rakit V0.6.0 memiliki dukungan vinil-FS penuh, sehingga plugin Gulp harus bekerja dengan rakitan.
Gunakan satu atau lebih pola atau lebih filepath untuk menentukan file sumber.
Params
glob
{String | Array} : Pola Glob atau jalur file ke file sumber.options
{Object} : Opsi atau penduduk setempat untuk bergabung ke dalam konteks dan/atau pass ke plugin src
Contoh
app . src ( 'src/*.hbs' , { layout : 'default' } ) ;
Tentukan tujuan yang akan digunakan untuk file yang diproses.
Params
dest
{string | function} : jalur file atau fungsi penggantian nama khusus.options
{Object} : Opsi dan penduduk setempat untuk diteruskan ke plugin dest
Contoh
app . dest ( 'dist/' ) ;
Salin file dari A ke B, di mana A
adalah pola apa pun yang akan valid di app.src dan B
adalah direktori tujuan.
Params
patterns
{String | Array} : Satu atau lebih jalur file atau pola Glob untuk file sumber yang akan disalin.dest
{string | function} : direktori desinasi.returns
{stream} : Stream dikembalikan, sehingga Anda dapat melanjutkan memproses file jika perlu.Contoh
app . copy ( 'assets/**' , 'dist/' ) ;
Pola atau jalur glob untuk symlink.
Params
glob
{String | Array}Contoh
app . symlink ( 'src/**' ) ;
Perakitan memiliki metode berikut untuk menjalankan tugas dan mengendalikan alur kerja:
Tentukan tugas. Tugas adalah fungsi yang disimpan pada objek tasks
, memungkinkan mereka dipanggil nanti dengan metode build. (CLI Call Build untuk menjalankan tugas)
Params
name
{String} : Nama Tugasfn
{function} : fungsi yang disebut saat tugas dijalankan.Contoh
app . task ( 'default' , function ( ) {
return app . src ( 'templates/*.hbs' )
. pipe ( app . dest ( 'dist/' ) ) ;
} ) ;
Jalankan satu atau lebih tugas.
Params
tasks
{Array | String} : Nama tugas atau array nama tugas.cb
{function} : fungsi panggilan balik yang memperlihatkan err
Contoh
app . build ( [ 'foo' , 'bar' ] , function ( err ) {
if ( err ) console . error ( 'ERROR:' , err ) ;
} ) ;
Tonton file, jalankan satu atau lebih tugas saat file yang ditonton berubah.
Params
glob
{String | Array} : Pola FilePaths atau Glob.tasks
{array} : tugas untuk ditonton.Contoh
app . task ( 'watch' , function ( ) {
app . watch ( 'docs/*.md' , [ 'docs' ] ) ;
} ) ;
Bagaimana perbedaan rakitan dari rakitan?
fitur | rakitan-core | berkumpul | catatan |
---|---|---|---|
Parsing front-matter | TIDAK | Ya | Gunakan rakit atau gunakan parser-front-matter sebagai middleware .onLoad . |
Cli | TIDAK | Ya | Buat pengalaman CLI Anda sendiri, atau gunakan Assemble |
Koleksi template bawaan | TIDAK | Ya | Gunakan .create() untuk menambahkan koleksi |
Mesin template bawaan | TIDAK | Ya | Merakit kapal dengan handlebar engine. Gunakan .engine() untuk mendaftarkan mesin template yang kompatibel dengan konsolidasi. |
Assemble-Core adalah aplikasi mandiri yang dibuat menggunakan aplikasi dan plugin dari Toolkit Suite:
Blok bangunan
Plugin
Perakitan dibangun di atas proyek -proyek hebat ini:
Menjalankan dan meninjau tes unit adalah cara yang bagus untuk membiasakan diri dengan perpustakaan dan API -nya. Anda dapat menginstal dependensi dan menjalankan tes dengan perintah berikut:
$ npm install && npm test
Permintaan tarik dan bintang selalu diterima. Untuk bug dan permintaan fitur, silakan buat masalah.
Harap baca panduan yang berkontribusi untuk saran tentang masalah pembukaan, permintaan tarik, dan standar pengkodean.
Jika berkumpul tidak melakukan apa yang Anda butuhkan, beri tahu kami.
Entri Changelog diklasifikasikan menggunakan label berikut dari Keep-A-Changelog:
added
: untuk fitur baruchanged
: Untuk perubahan fungsionalitas yang adadeprecated
: Untuk fitur yang dulu stabil dihapus dalam rilis mendatangremoved
: Untuk fitur yang sudah usang dihapus dalam rilis inifixed
: untuk perbaikan bug apa punLabel khusus yang digunakan dalam changelog ini:
dependencies
: Dependensi benjolanhousekeeping
: Pengorganisasian ulang kode, pengeditan kecil, atau perubahan lain yang tidak sesuai dengan salah satu kategori lainnya.Kepala!
Beri tahu kami jika ada tautan tajuk berikut yang rusak. Terima kasih!
dependensi
view
dihiasi dengan .toStream()
saat dibuat oleh aplikasi (bukan koleksi). Ini bisa dibilang perbaikan bug, tetapi mungkin merusak kode seseorang. dependensi
dependensi
.dest()
. dependensi
list
s dependensi
dependensi
handle.once
berubah
dependensi
DIHAPUS
templates
Bump in menghapus opsi renameKey
dari metode .data
. Gunakan opsi namespace
sebagai gantinya. tetap
dependensi
.find
and getView
. Tidak ada perubahan API yang dilakukan. Beri tahu kami jika terjadi regresi.tetap
List
yang menyebabkan pembantu koleksi meledakberubah
app.getView()
dan app.find()
dependensi
DIHAPUS
queue
dihapus pada koleksi. Lihat Template untuk detail tambahan. dependensi
berubah
dependensi
Housekeeping
dependensi
renameKey
tidak selalu digunakan ketika didefinisikan pada opsi pemuat koleksi.dependensi
dependensi
dependensi
dependensi
Tercerahkan
.handleView
sekarang sudah usang, gunakan .handleOnce
sebagai gantinyaberubah
.mergePartialsSync
Rename dikembalikan ke .mergePartials
untuk konsisten dengan pembaruan lain di .render
dan .compile
.ditambahkan
.log
, .verbose
, dll).mergePartials
menjadi async. Jika Anda saat ini menggunakan .mergePartials
, Anda dapat terus melakukannya secara sinkron menggunakan metode .mergePartialsSync
. .watch
yang mendukung penggunaan plugin pengawasan dasar. isType
untuk memeriksa jenis koleksi, dan sejumlah perbaikan pada bagaimana koleksi dan tampilan dipakai dan dinamai. onStream
dan preWrite
.(Changelog yang dihasilkan oleh helper-changelog)
Jon Schlinkert
Brian Woodward
Hak Cipta © 2017, Jon Schlinkert. Mit
File ini dihasilkan oleh Verb-Generate-ReadMe, v0.4.2, pada 11 Februari 2017.