国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
>常見問題(常見問題解答)有關使用Svelte
>使用Svelte構建新聞應用程序的關鍵好處是什么?
>如何使我的Svelte News應用程序響應?
>
首頁 web前端 js教程 Svelte App項目:構建每日星球的新聞應用程序UI

Svelte App項目:構建每日星球的新聞應用程序UI

Feb 14, 2025 am 10:17 AM

Svelte App項目:構建每日星球的新聞應用程序UI

Svelte是一個新的JavaScript UI庫,在許多方面與React等現(xiàn)代UI庫相似。一個重要的區(qū)別是,它不使用虛擬DOM的概念。 在本教程中,我們將通過構建靈感來自《超人世界》的虛構報紙的啟發(fā)來介紹Svelte。

鑰匙要點

Svelte是一個新的JavaScript UI庫,不使用虛擬DOM,使其比React,Vue和Angular等最強大的框架更快。在構建應用程序時,它將必要的工作轉移到開發(fā)機上的編譯時間階段。 該教程提供了一個逐步指南,以構建靈感來自《每日星球》的新聞申請,這是來自超人世界的虛構報紙。這包括初始化一個Svelte項目,運行本地開發(fā)服務器并構建最終捆綁包。

>教程還涵蓋了DEGIT工具來生成Svelte項目,從新聞端點獲取數(shù)據(jù)并為應用程序創(chuàng)建UI。

開發(fā)應用程序后,可以通過在終端中運行構建命令并使用ZEIT托管應用程序,即現(xiàn)在是網(wǎng)站和無服務器功能的云平臺。

    關于Svelte
  • Svelte使用一種新方法來構建用戶界面。 Suvte不用在瀏覽器中進行必要的工作,而是將其起作用的合理時間階段轉移到開發(fā)機器上時發(fā)生的編譯時階段。
  • > 簡而言之,這就是Svelte的工作原理(如官方博客中所述):
  • Svelte在
  • >構建時間
  • 上運行,將組件轉換為高效
  • 命令
  • 代碼,該代碼可以手術更新DOM。結果,您可以編寫具有出色性能特征的雄心勃勃的應用程序。
>我們將學習諸如Svelte組件之類的基本概念以及如何在數(shù)據(jù)陣列上獲取和迭代。我們還將學習如何初始化一個Svelte項目,運行本地開發(fā)服務器并構建最終的捆綁包。 >先決條件

您需要有一些先決條件,因此您可以舒適地遵循此教程,例如:

熟悉HTML,CSS和JavaScript(ES6)

> node.js和npm安裝在您的開發(fā)機上。 可以從官方網(wǎng)站上輕松安裝node.js,也可以使用NVM輕松安裝和管理系統(tǒng)中的節(jié)點的多個版本。>

>我們將使用JSON API作為我們應用的新聞來源,因此您需要通過免費創(chuàng)建一個帳戶并注意您的API密鑰來獲取API密鑰。>

入門

>現(xiàn)在,讓我們通過使用DEGIT工具生成Svelte Projects來構建我們的每日星球新聞應用程序。

>您可以在系統(tǒng)上全球安裝DEGIT,也可以使用NPX工具從NPM執(zhí)行它。打開一個新終端并運行以下命令:

接下來,在項目的文件夾中導航,并使用以下命令運行開發(fā)服務器:>
npx degit sveltejs/template dailyplanetnews

>您的開發(fā)服務器將從http:// localhost:5000地址從聆聽。如果您進行任何更改,它們將被重建并實時加載到您的運行應用中。

>打開項目的main.js文件,您應該找到以下代碼:>
<span>cd dailyplanetnews
</span><span>npm run dev
</span>

這是通過創(chuàng)建和導出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,樣式和標記。

>導出名稱;語法創(chuàng)建一個稱為名稱的組件道具。我們使用變量插值 - {...} - 通過名稱prop。
<span><span><span><script</span>></span><span>
</span></span><span><span>    <span>export let name;
</span></span></span><span><span></span><span><span></script</span>></span>
</span>
<span><span><span><style</span>></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></style</span>></span>
</span>
<span><span><span><h1</span>></span>Hello {name}!<span><span></h1</span>></span>
</span>
顯示傳遞的值

>您可以簡單地使用熟悉的普通舊JavaScript,CSS和HTML來創(chuàng)建Svelte組件。 Svelte還向HTML添加了一些模板語法,以進行可變的插值和通過數(shù)據(jù)列表等循環(huán)。

由于這是一個小應用程序,我們可以簡單地在應用程序組件中實現(xiàn)所需的功能。

>在<script>標簽中,從“ svelte”中導入onmount()方法,并定義api_key,文章和URL變量,這些變量將保存新聞API密鑰,獲取的新聞文章和提供數(shù)據(jù)的端點:</script>

> onMount是一種生命周期方法。這是官方教程對此所說的:

每個組件都有一個

>生命周期

在創(chuàng)建并在被破壞時結束時開始。有少數(shù)功能使您可以在該生命周期期間的關鍵時刻運行代碼。您最常使用的是OnMount,該元件首先渲染到DOM。

接下來,讓我們使用fetch API從新聞端點獲取數(shù)據(jù),并在將組件安裝在DOM中時將文章存儲在文章變量中:

npx degit sveltejs/template dailyplanetnews
由于fetch()方法返回JavaScript承諾,因此我們可以使用異步/等待語法使代碼看起來同步并消除回調。

接下來,讓我們添加以下HTML標記以創(chuàng)建我們的應用程序的UI并顯示新聞數(shù)據(jù):>

>我們使用每個塊來循環(huán)到新聞文章,并顯示每篇文章的標題,描述,URL和URL圖像。

<span>cd dailyplanetnews
</span><span>npm run dev
</span>
>每日星球徽標和標題是從這個受DC Comics啟發(fā)的非營利性新聞機構借來的。

我們將使用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</span>></span><span>
</span></span><span><span>    <span>export let name;
</span></span></span><span><span></span><span><span></script</span>></span>
</span>
<span><span><span><style</span>></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></style</span>></span>
</span>
<span><span><span><h1</span>></span>Hello {name}!<span><span></h1</span>></span>
</span>
用于生產(chǎn)的建筑物

開發(fā)應用程序后,您可以通過在終端中運行構建命令來創(chuàng)建生產(chǎn)捆綁包:

Svelte App項目:構建每日星球的新聞應用程序UI

該命令將產(chǎn)生一個縮小且可生產(chǎn)的捆綁包,您可以在首選的托管服務器上托管。

>現(xiàn)在讓我們立即使用Zeit托管應用程序。

> zeit現(xiàn)在是一個用于網(wǎng)站和無服務器功能的云平臺,您可以用來將項目部署到.now.sh或個人域。
<span><script>
</span>    <span>export let name;
</span>
    <span>import <span>{ onMount }</span> from "svelte";
</span>
    <span>const API_KEY = "<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></script>
</span>
返回您的終端,然后運行以下命令以立即安裝CLI:>

接下來,導航到public文件夾并運行現(xiàn)在的命令:>

就是這樣!您的應用程序將部署到云中。在我們的情況下,可以從public-kyqab3g5j.now.sh。

您可以從此GitHub存儲庫中找到此應用程序的源代碼。結論 在本教程中,我們使用Svelte構建了一個簡單的新聞應用程序。我們還看到了什么是Svelte,以及如何使用NPM的DEGIT工具來創(chuàng)建一個Svelte項目。。

>您可以參考官方文檔以獲取詳細的教程,以了解每個Svelte功能。

>常見問題(常見問題解答)有關使用Svelte

構建新聞應用程序的問題(常見問題解答)

>使用Svelte構建新聞應用程序的關鍵好處是什么?

svelte是現(xiàn)代的JavaScript編譯器,它允許您編寫易于理解的JavaScript代碼,然后將其編譯為高效的命令式代碼直接操縱DOM。構建新聞應用程序時,Svelte提供了一些好處。首先,它提供了一個更簡單,更清潔的代碼,使開發(fā)人員更容易理解和維護代碼。其次,Svelte應用程序具有很高的性能。由于Svelte在構建時間運行,因此將應用程序組件轉換為更新DOM的高效命令代碼。這導致加載時間更快,用戶體驗更順暢。最后,像React和Vue一樣,Svelte是基于組件的,這使得構建復雜的用戶界面變得更加容易。

>如何將新文章添加到使用Svelte構建的新聞應用程序? >在您的Svelte新聞應用程序中添加新文章涉及為文章創(chuàng)建一個新組件,然后將其導入相關的父組件。在新組件中,您可以定義文章的內容和任何相關的元數(shù)據(jù),例如作者和發(fā)布日期。創(chuàng)建組件后,您可以使用導入語句將其導入到父組件中。然后,您可以將其添加到父母組件的渲染方法中。 Svelte新聞應用程序涉及創(chuàng)建搜索組件并添加狀態(tài)管理以跟蹤搜索輸入。您可以使用Svelte的內置反應性功能來根據(jù)搜索輸入來更新顯示的文章。當搜索輸入更改時,您可以過濾文章列表,以包括匹配搜索輸入的文章列表。

我如何在我的Svelte應用程序中對新聞文章進行分類?可以通過在每個文章中添加類別屬性來實現(xiàn)Svelte應用程序。然后可以使用此屬性根據(jù)所選類別過濾文章。您可以創(chuàng)建一個顯示類別列表的類別組件。當選擇類別時,您可以將顯示的文章更新為僅包含所選類別中的文章。

>如何將用戶身份驗證添加到我的Svelte News應用程序?

> Svelte新聞應用程序可以使用各種方法進行,例如使用Firebase Authentication服務或JWT(JSON Web令牌)的后端服務器。您需要創(chuàng)建一個身份驗證組件,用戶可以在其中輸入其登錄憑據(jù)。表單提交后,這些憑據(jù)將發(fā)送到身份驗證服務或后端服務器進行驗證。如果憑據(jù)有效,則對用戶進行身份驗證并授予對應用程序的訪問

>如何使我的Svelte News應用程序響應?

>制作Svelte News應用程序響應式響應涉及使用CSS媒體查詢根據(jù)屏幕尺寸調整應用程序的布局。 Svelte允許您在與JavaScript和HTML代碼相同的文件中編寫CSS代碼,從而更容易設置組件。您可以為不同的屏幕尺寸定義不同樣式的樣式,以確保您的應用在所有設備上看起來都不錯。

如何在我的Svelte News應用程序中添加推送通知?

>向Svelte News添加推送通知可以使用諸如Firebase Cloud Messaging之類的服務完成應用。您需要在服務上注冊您的應用程序,然后將必要的代碼添加到您的應用程序中以處理接收推送通知。這通常涉及將服務工作者添加到您的應用程序中,該應用程序會在收到一個時聽取推送事件并顯示通知。

>

>如何將評論部分添加到我的Svelte News App? Svelte新聞應用程序的評論部分涉及創(chuàng)建評論組件并添加狀態(tài)管理以跟蹤評論。您可以使用Svelte的內置反應性功能來根據(jù)用戶輸入來更新評論。當用戶提交注釋時,您可以將其添加到注釋列表中并更新顯示的注釋。

>

>如何優(yōu)化Svelte News應用程序的性能?一個苗條的新聞應用程序可能涉及多種策略。首先,您可以使用Svelte的內置工具進行代碼分配和懶惰加載,僅加載當前視圖所需的代碼。其次,您可以優(yōu)化圖像和其他靜態(tài)資產(chǎn)以減少其文件大小。最后,您可以使用服務工作者來緩存您的應用程序資產(chǎn)并將其從緩存中提供服務,從而減少了加載時間。

>

>如何部署我的Svelte News App?

可以使用各種方法來完成應用程序,例如使用Netlify或Vercel(例如Netlify或Vercel)的靜態(tài)站點托管服務,或者使用Google Cloud或AWS等云平臺。您需要使用NPM Run Build Command構建應用程序,該命令使用您的編譯應用程序創(chuàng)建一個公共文件夾。然后可以將此文件夾上傳到您的托管服務或云平臺。

>

以上是Svelte App項目:構建每日星球的新聞應用程序UI的詳細內容。更多信息請關注PHP中文網(wǎng)其他相關文章!

本站聲明
本文內容由網(wǎng)友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

Java vs. JavaScript:清除混亂 Java vs. JavaScript:清除混亂 Jun 20, 2025 am 12:27 AM

Java和JavaScript是不同的編程語言,各自適用于不同的應用場景。Java用于大型企業(yè)和移動應用開發(fā),而JavaScript主要用于網(wǎng)頁開發(fā)。

JavaScript評論:簡短說明 JavaScript評論:簡短說明 Jun 19, 2025 am 12:40 AM

JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)

如何在JS中與日期和時間合作? 如何在JS中與日期和時間合作? Jul 01, 2025 am 01:27 AM

JavaScript中的日期和時間處理需注意以下幾點:1.創(chuàng)建Date對象有多種方式,推薦使用ISO格式字符串以保證兼容性;2.獲取和設置時間信息可用get和set方法,注意月份從0開始;3.手動格式化日期需拼接字符串,也可使用第三方庫;4.處理時區(qū)問題建議使用支持時區(qū)的庫,如Luxon。掌握這些要點能有效避免常見錯誤。

JavaScript與Java:開發(fā)人員的全面比較 JavaScript與Java:開發(fā)人員的全面比較 Jun 20, 2025 am 12:21 AM

JavaScriptIspreferredforredforwebdevelverment,而Javaisbetterforlarge-ScalebackendsystystemsandSandAndRoidApps.1)JavascriptexcelcelsincreatingInteractiveWebexperienceswebexperienceswithitswithitsdynamicnnamicnnamicnnamicnnamicnemicnemicnemicnemicnemicnemicnemicnemicnddommanipulation.2)

為什么要將標簽放在的底部? 為什么要將標簽放在的底部? Jul 02, 2025 am 01:22 AM

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScript:探索用于高效編碼的數(shù)據(jù)類型 JavaScript:探索用于高效編碼的數(shù)據(jù)類型 Jun 20, 2025 am 12:46 AM

javascripthassevenfundaMentalDatatypes:數(shù)字,弦,布爾值,未定義,null,object和symbol.1)numberSeadUble-eaduble-ecisionFormat,forwidevaluerangesbutbecautious.2)

什么是在DOM中冒泡和捕獲的事件? 什么是在DOM中冒泡和捕獲的事件? Jul 02, 2025 am 01:19 AM

事件捕獲和冒泡是DOM中事件傳播的兩個階段,捕獲是從頂層向下到目標元素,冒泡是從目標元素向上傳播到頂層。1.事件捕獲通過addEventListener的useCapture參數(shù)設為true實現(xiàn);2.事件冒泡是默認行為,useCapture設為false或省略;3.可使用event.stopPropagation()阻止事件傳播;4.冒泡支持事件委托,提高動態(tài)內容處理效率;5.捕獲可用于提前攔截事件,如日志記錄或錯誤處理。了解這兩個階段有助于精確控制JavaScript響應用戶操作的時機和方式。

Java和JavaScript有什么區(qū)別? Java和JavaScript有什么區(qū)別? Jun 17, 2025 am 09:17 AM

Java和JavaScript是不同的編程語言。1.Java是靜態(tài)類型、編譯型語言,適用于企業(yè)應用和大型系統(tǒng)。2.JavaScript是動態(tài)類型、解釋型語言,主要用于網(wǎng)頁交互和前端開發(fā)。

See all articles