Ein freundliches Jamstack-Fokus-Build-Tool für Svelte-Apps
Ich habe dieses Dienstprogramm für Gerüstkonfigurationen für meine schlanken Projekte erstellt. Da ich mich auf moderne statische Websites und clientseitige Apps konzentriere, die mit Netlify bereitgestellt werden können, enthält Sapper eine Menge Infrastruktur für die Server-Seiten-Entwicklung, die ich nicht brauche. Das SufleT Kit ist als Ersatz der nächsten Generation für Sapper um die Ecke, aber es ist möglicherweise nicht in der unmittelbaren Zukunft produziert.
Hier sind einige der Funktionen, die svelte-render über eine Starter-Rollup-Konfiguration hinzufügt:
require() ! npm i @metamodern/svelte-render
Das CLI -Skript wird nur als ES -Modul veröffentlicht. Mindestnode.js -Version ist 14 (neueste LTS zum Veröffentlichungsdatum).
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
Optionen können mit einer Konfigurationsdatei angegeben werden. Die Datei sollte ES -Modul -Import-/Exportsyntax verwenden. Der Standard-Export sollte eine Funktion sein, die ein Objekt mit Befehlszeilenoptionen als Ergment verwendet und ein Objekt zurückgibt, das zusätzliche Optionen angibt, um an die Rendering-Funktion weiterzugeben.
Die Konfigurationsdatei wird voraussichtlich unter ./render.config.js (relativ zum context ) gefunden, aber ein benutzerdefinierter Pfad kann wie oben gezeigt aus der Befehlszeile angegeben werden.
Im Folgenden finden Sie eine Liste aller Optionen, die an die Rendering -Funktion übergeben werden können.
Die JavaScript -API wird nur als ES -Modul veröffentlicht. CommonJS require() wird nicht unterstützt.
Der Standard -Export des Moduls ist eine Funktion mit den folgenden Parametern:
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 Hinweis: Das context ist nur bei der Verwendung der JavaScript -API erforderlich. Bei der Verwendung des CLI -Skripts context zu process.cwd() .
Die folgenden Optionen können als Dateinamen oder Pfade angegeben werden und werden relativ zum context behoben.
entry und client -Quelldateiendist kopiert werden sollendevelopment eingeschaltet hat)client auf false festlegen und nicht das development Flag verwenden). <style> Blöcken erzeugt wirddevelopment ist übergeben). rollup-plugin-svelte (unter dem compilerOptions -Schlüssel)rollup-plugin-svelte (unter dem preprocess Schlüssel) zu gelangen)rollup-plugin-svelterollup-plugin-terser HINWEIS: Diese Optionen werden ignoriert, wenn transpile auf false eingestellt ist
Render -Haken sind Funktionen, die mit der Hauptwiedergabefunktion zusammen ausführen können. Jede Funktion wird über den aufgelösten context und das vollständige Optionsobjekt übergeben. Asynchronisierte Funktionen werden unterstützt.
© 2020 Daniel C. Narey
ISC -Lizenz