嘗鮮少代碼高性能的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
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...