Alat build yang berfokus pada Jamstack yang ramah untuk aplikasi langsing
Saya membuat utilitas ini untuk membuat konfigurasi membangun untuk proyek langsing saya. Karena saya fokus pada situs statis modern dan aplikasi sisi klien yang dapat digunakan dengan Netlify, Sapper mencakup banyak infrastruktur untuk pengembangan sisi server yang tidak saya butuhkan. Svelte Kit sudah dekat sebagai pengganti generasi berikutnya untuk Sapper, tetapi mungkin tidak siap-produksi dalam waktu dekat, jadi saya akan mempertahankan alat CLI ini sampai saya memiliki penggantian yang solid.
Berikut adalah beberapa fitur yang ditambahkan svelte-render
di atas konfigurasi rollup starter:
require()
lagi! npm i @metamodern/svelte-render
Skrip CLI dirilis hanya sebagai modul ES. Versi minimum Node.js adalah 14 (LT terbaru pada tanggal rilis).
npx svelte-render [context] [--key = value]
# default to process.cwd() as context
cd project
npx svelte-render [--key = value]
# skip production optimizations
npx svelte-render --development
# just output HTML from the entry file
npx svelte-render --client=0 --noCss
# specify a custom directory structure
npx svelte-render --src=. --dist=public
# specify the path to your config file
# ** if not at ./render.config.js **
npx svelte-render --configFile=./config/svelte-render.js
Opsi dapat ditentukan menggunakan file konfigurasi. File harus menggunakan Sintaks Impor/Ekspor Modul ES. Ekspor defaultnya harus merupakan fungsi yang mengambil objek yang berisi opsi baris perintah sebagai arugment dan mengembalikan objek yang menentukan opsi tambahan untuk diteruskan ke fungsi rendering.
File konfigurasi diharapkan ditemukan di ./render.config.js
(relatif terhadap context
), tetapi jalur khusus dapat ditentukan dari baris perintah seperti yang ditunjukkan di atas.
Lihat di bawah untuk daftar semua opsi yang dapat diteruskan ke fungsi rendering.
API JavaScript dirilis hanya sebagai modul ES. CommonJs require()
tidak didukung.
Ekspor default modul adalah fungsi dengan parameter berikut:
async function ( context : string , {
src = 'src' ,
assets = 'assets' ,
dist = 'dist' ,
entry = 'index.svelte' ,
client = 'client.js' ,
noCss = false ,
development = false ,
transpile = ! development ,
rollupInputPlugins = [ ] ,
rollupInputOptions = { } ,
compilerOptions = { } ,
sveltePreprocess = { } ,
svelteOptions = { } ,
terserOptions = { } ,
browsers = 'defaults' ,
babelPresets = [ [ '@babel/preset-env' , {
targets : browsers ,
corejs : 3 ,
useBuiltIns : 'usage' ,
} ] ] ,
babelPlugins = [ ] ,
babelOptions = { } ,
before ,
onRender ,
after ,
} = { } ) : Promise < number > // returns 0 on success
Catatan: Argumen context
hanya diperlukan saat menggunakan JavaScript API. Saat menggunakan skrip CLI, context
default untuk process.cwd()
.
Opsi berikut dapat ditentukan sebagai nama file atau jalur dan akan diselesaikan relatif terhadap context
.
entry
dan Sumber client
Filedist
development
aktif)client
ke false
dan tidak menggunakan bendera development
) <style>
development
dilewati) rollup-plugin-svelte
(di bawah tombol compilerOptions
)rollup-plugin-svelte
(di bawah tombol preprocess
)rollup-plugin-svelte
rollup-plugin-terser
Catatan: Opsi ini diabaikan saat transpile
diatur ke false
Pengait render adalah fungsi untuk dieksekusi bersama -sama dengan fungsi rendering utama. Setiap fungsi akan dilewatkan context
yang diselesaikan dan objek opsi penuh. Fungsi async didukung.
© 2020 Daniel C. Narey
Lisensi ISC