Svelte

維基百科,自由的百科全書
跳至導覽 跳至搜尋
Svelte
File:Svelte Logo.svg
原作者Rich Harris
首次發佈2016年11月26日,​9年前​(2016-11-26[1]
目前版本
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    原始碼庫github.com/sveltejs/svelte
    程式語言TypeScript
    引擎
      Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
      檔案大小4.1 KB[2]
      類型Web應用框架
      許可協定MIT License
      網站svelte.dev

      Svelte是一個由Rich Harris建立的開放原始碼前端編譯器[3],由志願者維護。[4]與傳統框架(如ReactVue)在瀏覽器中進行大量處理的方式不同,Svelte將這些工作提前到編譯階段處理。[5]構建一個Svelte應用程式會生成操作文件物件模型(DOM)的代碼,Svelte藉此可以減少傳輸的檔案的大小,並提供更好的啟動和執行時效能。Svelte有由TypeScript編寫的編譯器[3],用於在構建時將應用代碼轉換為客戶端的JavaScript

      Svelte的原始碼採用MIT許可證,寄存在GitHub上。[6]

      2023年6月,Svelte 4發佈,軟件套件大小減小了75%,生成更小、更快的脫水代碼,並為Svelte 5的更新打下了基礎。[7]

      範例[編輯]

      Svelte應用和組件由 .svelte 檔案定義。這是一種添加了類似於JSX的模板語法的HTML檔案。Svelte使用 $: 語法來標記響應式的組件。頂層的變量是組件的狀態,匯出的變量成為組件接收的屬性。

      <script>
          let count = 1;
          $: doubled = count * 2;
      </script>
      
      <p>{count} * 2 = {doubled}</p>
      
      <button on:click={() => count = count + 1}>Count</button>
      

      參考資料[編輯]

      1. ^ Frameworks without the framework: why didn't we think of this sooner?. Svelte. [2023-03-18]. (原始內容存檔於2023-03-27). 
      2. ^ Svelte@3.31.2. BundlePhobia. January 8, 2021 [2023-03-18]. (原始內容存檔於2021-05-14). 
      3. ^ 3.0 3.1 Svelte入門 - 學習該如何開發 Web | MDN. developer.mozilla.org. [2021-08-21]. (原始內容存檔於2022-03-26) (中文(臺灣)). 
      4. ^ Svelte • Cybernetically enhanced web apps. svelte.dev. [2021-08-21]. (原始內容存檔於2022-05-09) (English). 
      5. ^ Apr 22 2019, Rich Harris Mon. Svelte 3: Rethinking reactivity. svelte.dev. [2021-08-21]. (原始內容存檔於2022-04-26) (English). 
      6. ^ GitHub - sveltejs/svelte: Cybernetically enhanced web apps. GitHub. [2021-08-21]. (原始內容存檔於2022-05-03) (English). 
      7. ^ Krill, Paul. Svelte 4 shrinks code footprint, compiled output. InfoWorld. 2023-06-26 [2023-06-27]. (原始內容存檔於2023-06-29) (English).