Svelte + Vite 知識點一


SVELTE + VITE (一)

Svelte 是一種全新的構建用戶界面的方法。傳統框架如 React 和 Vue 在瀏覽器中需要做大量的工作,而 Svelte 將這些工作放到構建應用程序的編譯階段來處理。

與使用虛擬(virtual)DOM 差異對比不同。Svelte 編寫的代碼在應用程序的狀態更改時就能像做外科手術一樣更新 DOM。

搭建項目

npm init vite

選擇 svelte-ts 模板

初始化后目錄結構如下

  • svelte 的構建工具,官方提供了針對 Rollup 和 webpack 的插件
    • rollup-plugin-svelte
    • svelte-loader
  • 這里使用基於rollup 打包原理 的 Vite 工具。

SVELTE特點

  • 減少代碼量
  • 無虛擬DOM
  • 真正的反應能力

測試初始化項目打包體積:

  • 圖中可以看出 js gzip 后 3kb

打包體積:

針對初始化項目進行打包:

簡介

添加數據

<script>
let name = 'world'
</script>
<h1>
    Hello {name} !
</h1>
  • 花括號內,可以防止任何想要的JavaScript代碼

動態屬性

<img {src} alt/>  
<!-- 
or <img src={src} alt=""/>
-->
  • 可以在屬性內部使用花括號

CSS樣式

<style>
    p{ color:red }
</style>
<p>
    This is a ...
</p>
  • 這些 CSS樣式的規則的作用域 被限定在當前組件

嵌套組件

<script>
import Nested from './Nested.svelte';
</script>

<Nested />
<!-- <Nested ></Nested>  -->
  • 組件名稱Nested的首字母大寫。 采用此約定使我們能夠區分用戶自定義組件 和 一般HTML標簽

HTML 標簽

<p> {@html string} </p>
  • 將表達式的輸入插入到DOM之前,Svelte不會對 {@html ...}內的表達式的輸出做任何清理的。換言之,如果使用此功能,必須手動轉義來自不信任源的HTML 代碼,預防XSS攻擊。

創建一個應用程序

import App from './App.svelte';

const app = new App({
	target: document.body,
	props: {
		answer: 42
	}
});

賦值

<script>
	let count = 0;

	function handleClick() {
		count += 1;
	}
</script>

<button on:click={handleClick}>
	Clicked {count} {count === 1 ? 'time' : 'times'}
</button>

(...待續)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM