鑰匙要點
Svelte是一個新的JavaScript UI庫,不使用虛擬DOM,使其比React,Vue和Angular等最強大的框架更快。在構建應用程序時,它將必要的工作轉移到開發機上的編譯時間階段。
開發應用程序後,可以通過在終端中運行構建命令並使用ZEIT託管應用程序,即現在是網站和無服務器功能的雲平台。
- 關於Svelte
- Svelte使用一種新方法來構建用戶界面。 Suvte不用在瀏覽器中進行必要的工作,而是將其起作用的合理時間階段轉移到開發機器上時發生的編譯時階段。 > 簡而言之,這就是Svelte的工作原理(如官方博客中所述):
- Svelte在
- >構建時間 上運行,將組件轉換為高效
- 命令 代碼,該代碼可以手術更新DOM。結果,您可以編寫具有出色性能特徵的雄心勃勃的應用程序。
您需要有一些先決條件,因此您可以舒適地遵循此教程,例如:
熟悉HTML,CSS和JavaScript(ES6)> node.js和npm安裝在您的開發機上。
可以從官方網站上輕鬆安裝node.js,也可以使用NVM輕鬆安裝和管理系統中的節點的多個版本。 > >我們將使用JSON API作為我們應用的新聞來源,因此您需要通過免費創建一個帳戶並註意您的API密鑰來獲取API密鑰。
入門> >現在,讓我們通過使用DEGIT工俱生成Svelte Projects來構建我們的每日星球新聞應用程序。
>您可以在系統上全球安裝DEGIT,也可以使用NPX工具從NPM執行它。打開一個新終端並運行以下命令:
接下來,在項目的文件夾中導航,並使用以下命令運行開發服務器:
> npx degit sveltejs/template dailyplanetnews>您的開發服務器將從http:// localhost:5000地址從聆聽。如果您進行任何更改,它們將被重建並實時加載到您的運行應用中。
>打開項目的main.js文件,您應該找到以下代碼:> <span>cd dailyplanetnews </span><span>npm run dev </span>這是通過創建和導出root組件的實例(通常稱為應用程序)來引導Svelte應用程序的地方。該組件採用帶有目標和props屬性的對象。
>目標包含將安裝組件的DOM元素,並且Props包含要傳遞給App組件的屬性。在這種情況下,它只是一個名稱,帶有
> world<span>import <span>App</span> from './App.svelte'; </span> <span>const app = new App({ </span> <span>target: document.body, </span> <span>props: { </span> <span>name: 'world' </span> <span>} </span><span>}); </span> <span>export default app; </span>value。>
>打開app.svelte文件,您應該找到以下代碼:> 這是我們應用程序的根組成部分。所有其他組件將是App的孩子。
> Svelte中的組件使用.svelte擴展名的源文件,其中包含組件的所有JavaScript,樣式和標記。>導出名稱;語法創建一個稱為名稱的組件道具。我們使用變量插值 - {...} - 通過名稱prop。
<span><span><span><script>></script></span><span> </span></span><span><span> <span>export let name; </span></span></span><span><span></span><span><span></span>></span> </span> <span><span><span><style>></style></span><span> </span></span><span><span> <span>h1 { </span></span></span><span><span> <span>color: purple; </span></span></span><span><span> <span>} </span></span></span><span><span></span><span><span></span>></span> </span> <span><span><span><h1 id="gt">></h1></span>Hello {name}!<span><span></span>></span> </span></span></span></span>顯示傳遞的值>您可以簡單地使用熟悉的普通舊JavaScript,CSS和HTML來創建Svelte組件。 Svelte還向HTML添加了一些模板語法,以進行可變的插值和通過數據列表等循環。
由於這是一個小應用程序,我們可以簡單地在應用程序組件中實現所需的功能。>在<script>標籤中,從“ svelte”中導入onmount()方法,並定義api_key,文章和URL變量,這些變量將保存新聞API密鑰,獲取的新聞文章和提供數據的端點: </script>
> onMount是一種生命週期方法。這是官方教程對此所說的:
每個組件都有一個
>生命週期在創建並在被破壞時結束時開始。有少數功能使您可以在該生命週期期間的關鍵時刻運行代碼。您最常使用的是OnMount,該元件首先渲染到DOM。
接下來,讓我們使用fetch API從新聞端點獲取數據,並在將組件安裝在DOM中時將文章存儲在文章變量中:
npx degit sveltejs/template dailyplanetnews由於fetch()方法返回JavaScript承諾,因此我們可以使用異步/等待語法使代碼看起來同步並消除回調。
接下來,讓我們添加以下HTML標記以創建我們的應用程序的UI並顯示新聞數據:
>我們使用每個塊來循環到新聞文章,並顯示每篇文章的標題,描述,URL和URL圖像。
<span>cd dailyplanetnews </span><span>npm run dev </span>>每日星球徽標和標題是從這個受DC Comics啟發的非營利性新聞機構借來的。
我們將使用Google字體可提供的手寫字體Kalam,因此請打開public/index.html文件,並添加以下標籤:
接下來,返回到app.svelte文件並添加以下樣式:
這是我們每日新聞應用程序的屏幕截圖:
<span>import <span>App</span> from './App.svelte'; </span> <span>const app = new App({ </span> <span>target: document.body, </span> <span>props: { </span> <span>name: 'world' </span> <span>} </span><span>}); </span> <span>export default app; </span>
<span><span><span><script>></script></span><span> </span></span><span><span> <span>export let name; </span></span></span><span><span></span><span><span></span>></span> </span> <span><span><span><style>></style></span><span> </span></span><span><span> <span>h1 { </span></span></span><span><span> <span>color: purple; </span></span></span><span><span> <span>} </span></span></span><span><span></span><span><span></span>></span> </span> <span><span><span><h1 id="gt">></h1></span>Hello {name}!<span><span></span>></span> </span></span></span></span>用於生產的建築物
開發應用程序後,您可以通過在終端中運行構建命令來創建生產捆綁包:
>現在讓我們立即使用Zeit託管應用程序。
> zeit現在是一個用於網站和無服務器功能的雲平台,您可以用來將項目部署到.now.sh或個人域。
<span><script> </script></span> <span>export let name; </span> <span>import <span>{ onMount }</span> from "svelte"; </span> <span>const API_KEY = "<your_api_key_here>"; </your_api_key_here></span> <span>const URL = <span>`https://newsapi.org/v2/everything?q=comics&sortBy=publishedAt&apiKey=<span>${API_KEY}</span>`</span>; </span> <span>let articles = []; </span> <span> </span>返回您的終端,然後運行以下命令以立即安裝CLI:
接下來,導航到public文件夾並運行現在的命令:
就是這樣!您的應用程序將部署到雲中。在我們的情況下,可以從public-kyqab3g5j.now.sh。
您可以從此GitHub存儲庫中找到此應用程序的源代碼。>您可以參考官方文檔以獲取詳細的教程,以了解每個Svelte功能。
>常見問題(常見問題解答)有關使用Svelte
構建新聞應用程序的問題(常見問題解答)>使用Svelte構建新聞應用程序的關鍵好處是什麼?
svelte是現代的JavaScript編譯器,它允許您編寫易於理解的JavaScript代碼,然後將其編譯為高效的命令式代碼直接操縱DOM。構建新聞應用程序時,Svelte提供了一些好處。首先,它提供了一個更簡單,更清潔的代碼,使開發人員更容易理解和維護代碼。其次,Svelte應用程序具有很高的性能。由於Svelte在構建時間運行,因此將應用程序組件轉換為更新DOM的高效命令代碼。這導致加載時間更快,用戶體驗更順暢。最後,像React和Vue一樣,Svelte是基於組件的,這使得構建複雜的用戶界面變得更加容易。 >如何將新文章添加到使用Svelte構建的新聞應用程序? >在您的Svelte新聞應用程序中添加新文章涉及為文章創建一個新組件,然後將其導入相關的父組件。在新組件中,您可以定義文章的內容和任何相關的元數據,例如作者和發布日期。創建組件後,您可以使用導入語句將其導入到父組件中。然後,您可以將其添加到父母組件的渲染方法中。 Svelte新聞應用程序涉及創建搜索組件並添加狀態管理以跟踪搜索輸入。您可以使用Svelte的內置反應性功能來根據搜索輸入來更新顯示的文章。當搜索輸入更改時,您可以過濾文章列表,以包括匹配搜索輸入的文章列表。 我如何在我的Svelte應用程序中對新聞文章進行分類?可以通過在每個文章中添加類別屬性來實現Svelte應用程序。然後可以使用此屬性根據所選類別過濾文章。您可以創建一個顯示類別列表的類別組件。當選擇類別時,您可以將顯示的文章更新為僅包含所選類別中的文章。 >如何將用戶身份驗證添加到我的Svelte News應用程序?> Svelte新聞應用程序可以使用各種方法進行,例如使用Firebase Authentication服務或JWT(JSON Web令牌)的後端服務器。您需要創建一個身份驗證組件,用戶可以在其中輸入其登錄憑據。表單提交後,這些憑據將發送到身份驗證服務或後端服務器進行驗證。如果憑據有效,則對用戶進行身份驗證並授予對應用程序的訪問
>如何使我的Svelte News應用程序響應?
>製作Svelte News應用程序響應式響應涉及使用CSS媒體查詢根據屏幕尺寸調整應用程序的佈局。 Svelte允許您在與JavaScript和HTML代碼相同的文件中編寫CSS代碼,從而更容易設置組件。您可以為不同的屏幕尺寸定義不同樣式的樣式,以確保您的應用在所有設備上看起來都不錯。
如何在我的Svelte News應用程序中添加推送通知?
>向Svelte News添加推送通知可以使用諸如Firebase Cloud Messaging之類的服務完成應用。您需要在服務上註冊您的應用程序,然後將必要的代碼添加到您的應用程序中以處理接收推送通知。這通常涉及將服務工作者添加到您的應用程序中,該應用程序會在收到一個時聽取推送事件並顯示通知。 >
>如何將評論部分添加到我的Svelte News App? Svelte新聞應用程序的評論部分涉及創建評論組件並添加狀態管理以跟踪評論。您可以使用Svelte的內置反應性功能來根據用戶輸入來更新評論。當用戶提交註釋時,您可以將其添加到註釋列表中並更新顯示的註釋。>
>如何優化Svelte News應用程序的性能?一個苗條的新聞應用程序可能涉及多種策略。首先,您可以使用Svelte的內置工具進行代碼分配和懶惰加載,僅加載當前視圖所需的代碼。其次,您可以優化圖像和其他靜態資產以減少其文件大小。最後,您可以使用服務工作者來緩存您的應用程序資產並將其從緩存中提供服務,從而減少了加載時間。>
>如何部署我的Svelte News App?>
以上是Svelte App項目:構建每日星球的新聞應用程序UI的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript在瀏覽器和Node.js環境中運行,依賴JavaScript引擎解析和執行代碼。 1)解析階段生成抽象語法樹(AST);2)編譯階段將AST轉換為字節碼或機器碼;3)執行階段執行編譯後的代碼。

Python和JavaScript的未來趨勢包括:1.Python將鞏固在科學計算和AI領域的地位,2.JavaScript將推動Web技術發展,3.跨平台開發將成為熱門,4.性能優化將是重點。兩者都將繼續在各自領域擴展應用場景,並在性能上有更多突破。

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

是的,JavaScript的引擎核心是用C語言編寫的。 1)C語言提供了高效性能和底層控制,適合JavaScript引擎的開發。 2)以V8引擎為例,其核心用C 編寫,結合了C的效率和麵向對象特性。 3)JavaScript引擎的工作原理包括解析、編譯和執行,C語言在這些過程中發揮關鍵作用。

JavaScript是現代網站的核心,因為它增強了網頁的交互性和動態性。 1)它允許在不刷新頁面的情況下改變內容,2)通過DOMAPI操作網頁,3)支持複雜的交互效果如動畫和拖放,4)優化性能和最佳實踐提高用戶體驗。

C 和JavaScript通過WebAssembly實現互操作性。 1)C 代碼編譯成WebAssembly模塊,引入到JavaScript環境中,增強計算能力。 2)在遊戲開發中,C 處理物理引擎和圖形渲染,JavaScript負責遊戲邏輯和用戶界面。

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Dreamweaver CS6
視覺化網頁開發工具