嘗鮮少代碼高性能的Svelte框架

来源:https://www.cnblogs.com/helong-123/archive/2022/06/15/16378578.html
-Advertisement-
Play Games

為什麼要使用Svelte Svelte 是一種全新的構建用戶界面的方法。傳統框架(如 React 和 Vue)在瀏覽器中完成大部分工作,而 Svelte 將這些工作轉移到構建應用程式時發生的編譯步驟。 Svelte 沒有使用虛擬 DOM diffing 之類的技術,而是編寫了在應用程式狀態發生變化時 ...


為什麼要使用Svelte

Svelte 是一種全新的構建用戶界面的方法。傳統框架(如 React 和 Vue)在瀏覽器中完成大部分工作,而 Svelte 將這些工作轉移到構建應用程式時發生的編譯步驟。

Svelte 沒有使用虛擬 DOM diffing 之類的技術,而是編寫了在應用程式狀態發生變化時以手術方式更新 DOM 的代碼。

通過本教程中,你將從頭開始構建自己的應用,分別使用 Svelte -Cli 和 雲開發平臺

Svelte -Cli 快速搭建項目

一、搭建本地開發環境

  • Svelte 要求Node.js版本>=12.2.0。然而,一些模板需要更高的Node.js版本才能工作,如果你的包管理器發出警告,請升級。您可以使用n、nvm或nvm-windows 在同一臺機器上管理多個版本的Node。 要瞭解如何安裝 Node.js,參閱nodejs.org。 如果你不確定系統中正在運行的 Node.js 版本是什麼,請在終端視窗中運行node -v。

  • npm 包管理器 因為我們通常都會使用Svelte 提供的腳手架搭建項目結構,所以要下載並安裝 npm 包並且npm >= 6。,你需要一個 npm 包管理器。本指南使用 npm 客戶端命令行界面,該界面預設安裝在 Node.js。要檢查你是否安裝了 npm 客戶端,請在終端視窗中運行 npm -v 。

  • 你可以使用 Svelte -Cli 生成器 來創建項目,生成應用和庫代碼,以及執行各種持續開發任務,比如測試、打包和部署。

二、創建新的初始應用

degit是一個從 git repos 中存儲的模板創建項目的工具。全局安裝

npm install -g degit

然後您可以使用它來啟動一個新項目:

degit sveltejs/template my-new-project

Svelte 還提供了命令行界面,但不建議將其用於生產環境。CLI 會將您的組件編譯為獨立的 JavaScript 文件,但不會在它們更改時自動重新編譯它們,也不會刪除組件之間共用的重覆代碼。請改用上述方法之一。

如果您已svelte全局安裝,則可以使用svelte --help完整的選項列表。一些更常見的操作示例如下:

# Generate a JavaScript module from MyComponent.html
svelte compile MyComponent.html > MyComponent.js
svelte compile -i MyComponent.html -o MyComponent.js

# Generate a UMD module from MyComponent.html, inferring its name from the filename ('MyComponent')
svelte compile -f umd MyComponent.html > MyComponent.js

# Generate a UMD module, specifying the name
svelte compile -f umd -n CustomName MyComponent.html > MyComponent.js

# Compile all .html files in a directory
svelte compile -i src/components -o build/components

您也可以使用npx來使用 CLI,而無需全局安裝 Svelte — 只需在命令前加上npx:npx svelte compile ...

三、啟動應用伺服器

進入工作區目錄,並啟動這個應用。

cd my-new-project
npm install
npm run dev

npm run dev 命令會構建本應用、啟動開發伺服器、監聽源文件,並且當那些文件發生變化時重新構建本應用,
也會打開瀏覽器,並訪問 http://localhost:8080/

你會發現本應用正運行在瀏覽器中。

參考文獻:https://v2.svelte.dev/

雲開發平臺一鍵部署Svelte

作為Svelte 開發者的你,雲開發平臺為你提供了一站式,全雲端的開發平臺,讓你可以打開瀏覽器就完成開發,調試,上線,同時雲開發平臺底層調用的是阿裡雲集團Serverless產品,可以實現低門檻開發,部署,調試,降低開發上手成本,讓Svelte 應用可以一鍵快速部署!

一、創建環境

想要一鍵部署Svelte ,需要以下賬號和服務:

file

二、創建Svelte 應用

file

  • 雲資源訪問授權。如果您之前沒有使用過雲開發平臺,會出現雲資源授權管理的選項,往下拉出現直至同意授權的字樣,點擊「同意授權」後出現授權成功,點擊進入「下一步」。

file

  • 綁定Github賬號。授權完成後選擇來源倉庫為Github,按照提示點擊去綁定,綁定GitHub帳號,登錄後並點擊Authorize Aliyunworkben允許雲開發平臺構建、發佈你的GitHub代碼為可訪問的網站。

file

  • 選擇fork好的“Svelte ”代碼倉庫。選擇第一步中的代碼倉庫,主幹分支,並點擊下一步。主幹分支一般指的是代碼的master或main等分支。

file

填寫基本信息,完成創建。填寫基本信息並點擊「完成」。成功後進入到應用詳情和部署界面。

file

三、在日常環境部署

  • 一鍵進行應用部署。在應用詳情頁面點擊日常環境的「部署」按鈕進行一鍵部署,部署狀態變成綠色已部署以後可以點擊訪問部署網站查看效果。

file

  • 訪問Svelte 網站。日常環境的測試功能變數名稱也是可以訪問的,點擊訪問已部署網站按鈕會出現一個彈出,點擊彈出上的立即訪問就能夠訪問已經部署好的站點了。在部署完成後,可以繼續本地編碼,並將代碼push到應用的“基本信息”中對應的代碼倉庫內。

file

阿裡雲開發平臺多端應用

框架不管是日常工作、學習都會涉及到的領域,既如此挑選一款適合自己的應用不止操作起來更順暢同時也使身心愉悅,帶來一天的好心情。

  • 那諸多的應用怎麼去挑選合適自己的呢?
  • 每一個都去下載、去看相關操作文檔去實驗?
  • 又或者聽取同學、同事的建議用著其中一款?
  • 可是每個人的使用場景、需求、特征都一樣嗎?
  • ······

帶著以上諸多疑惑進入雲開發平臺,有多種框架映入眼帘例如:Vue.js、React、Nuxt.js、Next.js、AntDesign等,其中還能看到一些內容管理平臺例如:Hexo、Docusaurus、VuePress、Sapper等。在此條件下我們先挑一個較為感興趣的應用點開去嘗試部署,會發現在原來線上部署應用真的像在手機上下載APP一樣簡單、快速。一個如此、其他便皆是大同小異了,多嘗試一些應用發現每個的相同與不同,自然而然挑選最適合自己需求的應用去在日常所用即可。

忙不完的活,做不完的工作,工作效益最高化是個人都在追求的,那勞逸結合必是肯定的。雲開發平臺也有一些小游戲去幫助大家緩解小心情,類似頭像生成器、2048等。玩著自己部署出來的應用成就感可就加倍呢,如果不喜歡游戲的整體佈局、顏色等,那也可以根據從雲開發平臺部署的經驗在去原有代碼基礎上去修改、部署等。這樣專屬自己的一款游戲就出來了呢!

file


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • referer,正確寫法referrer,指的是網站的一種安全策略,在請求頭CSP(Content-Security-Policy),標簽或者是指定的html標簽里都可以設置它,它指的是上一個請求的來源記錄,比如你從a1通過鏈連,跳到a2,那在a2的請求頭裡,就會有a1的網址或者功能變數名稱,這個和refe ...
  • 項目中經常遇到CSV文件的讀寫需求,其中的難點主要是CSV文件的解析。本文會介紹CsvHelper、TextFieldParser、正則表達式三種解析CSV文件的方法,順帶也會介紹一下CSV文件的寫方法。 CSV文件標準 在介紹CSV文件的讀寫方法前,我們需要瞭解一下CSV文件的格式。 文件示例 一 ...
  • 這幾天在看 C++ 的 lambda 表達式,挺有意思,這個標準是在 C11標準 加進去的,也就是 2011 年,相比 C# 2007 還晚了個 4 年, Lambda 這東西非常好用,會上癮,今天我們簡單聊一聊。 一:語法定義 首先我們看下 C++ 語法定義格式: [capture] (param ...
  • 在Winform開發中有時候我們為了不影響主UI線程的處理,以前我們使用後臺線程BackgroundWorker來處理一些任務操作,不過隨著非同步處理提供的便利性,我們可以使用Async-Awati非同步任務處理替換原來的後臺線程BackgroundWorker處理方式,更加的簡潔明瞭。 ...
  • WPF(Windows Presentation Foundation)是微軟推出的基於Windows 的用戶界面框架,由 .NET Framework 3.0 開始引入,與WCF (Windows Communication Foundation)及 WF(Windows Workflow Fou... ...
  • 在我們對數據進行重要修改調整的時候,往往需要跟蹤記錄好用戶操作日誌。一般來說,如對重要表記錄的插入、修改、刪除都需要記錄下來,由於用戶操作日誌會帶來一定的額外消耗,因此我們通過配置的方式來決定記錄那些業務數據的重要調整。本篇隨筆介紹如何在基於SqlSugar的開發框架中,實現對用戶操作日誌記錄的配置... ...
  • 目錄 一、前景回顧 二、物理地址、線性地址和虛擬地址 三、記憶體為什麼要分頁 四、一級頁表 五、二級頁表 一、前景回顧 前面我們說到,保護模式下有著三大特點:地址映射、特權級和分時機制。從我的學習角度來說,我認為地址映射這一塊的知識點尤為繁雜,所以會花費相對比較多的時間來講述,話不多說,開整。 二、物 ...
  • Delay accounting 延時統計 任務在執行時等待某個內核資源會意外遇到延遲,例如可運行的任務正在等待空閑CPU。 per-task的延時統計功能測量下列情況下任務經歷的延遲: 正在等待CPU,waiting for a CPU (while being runnable) 同步塊I/O的 ...
一周排行
    -Advertisement-
    Play Games
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...