Svelteは、多くの点でReactのような最新のUIライブラリに似た新しいJavaScript UIライブラリです。重要な違いの1つは、仮想domの概念を使用しないことです。 このチュートリアルでは、スーパーマンの世界の架空の新聞であるデイリープラネットに触発されたニュースアプリケーションを構築することにより、Svelteを紹介します。
キーテイクアウト
コードを外科的に更新するコードに変換します。その結果、優れたパフォーマンス特性を備えた野心的なアプリケーションを書くことができます。
Svelteは、仮想DOMを使用せず、変更された部分のみを外科的に更新しないため、最も強力なフレームワーク(React、Vue、Angular)よりも高速です。Svelteコンポーネントなどの基本的な概念や、データの配列を取得して反復する方法について学びます。また、Svelteプロジェクトを初期化し、ローカル開発サーバーを実行し、最終的なバンドルを構築する方法を学びます。
前提条件いくつかの前提条件が必要なので、次のようにこのチュートリアルを快適にフォローできます。 HTML、CSS、およびJavaScript(ES6)に精通しています 開発マシンにインストールされているnode.jsとnpm。
node.jsは公式Webサイトから簡単にインストールできます。または、NVMを使用して、システム内の複数のバージョンのノードを簡単にインストールおよび管理することもできます。JSON APIをアプリのニュースのソースとして使用するため、無料でアカウントを作成してAPIキーに注意を払うだけでAPIキーを取得する必要があります。
始めましょうさあ、Svelteプロジェクトを生成するためにDegitツールを使用して、Daily Planet Newsアプリケーションの構築を始めましょう。
システムにグローバルにDegitをインストールするか、NPXツールを使用してNPMから実行できます。新しい端末を開き、次のコマンドを実行します:
次に、プロジェクトのフォルダー内をナビゲートし、次のコマンドを使用して開発サーバーを実行します。
npx degit sveltejs/template dailyplanetnewsログイン後にコピーログイン後にコピー開発サーバーはhttp:// localhost:5000アドレスからリスニングされます。変更を行うと、それらは再構築され、実行中のアプリにライブロードされます。
プロジェクトのmain.jsファイルを開くと、次のコードを見つける必要があります。<span>cd dailyplanetnews </span><span>npm run dev </span>ログイン後にコピーログイン後にコピーこれは、Svelteアプリが、従来のAPPと呼ばれるルートコンポーネントのインスタンスを作成およびエクスポートすることにより、ブートストラップされる場所です。コンポーネントは、ターゲットを備えたオブジェクトを取得し、属性をプロップします。
ターゲットには、コンポーネントがマウントされるDOM要素が含まれ、プロップにはアプリコンポーネントに渡すプロパティが含まれます。この場合、それは
世界値を持つ単なる名前です。<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>ログイン後にコピーログイン後にコピーapp.svelteファイルを開くと、次のコードが見つかります。
これはアプリケーションのルートコンポーネントです。他のすべてのコンポーネントは、アプリの子供です。
svelteのコンポーネントソースファイルに.svelte拡張子を使用します。これには、コンポーネントのすべてのJavaScript、スタイル、マークアップが含まれています。export let name;構文は、名前と呼ばれるコンポーネントプロップを作成します。変数補間 - {...} - を使用して、名前を介して渡された値を表示します。
普通の古いJavaScript、CSS、およびHTMLを使用するだけで、Svelteコンポーネントを作成することができます。 Svelteは、データのリストなどを介してさまざまな補間とループのために、HTMLにいくつかのテンプレート構文を追加します。<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>ログイン後にコピーログイン後にコピーこれは小さなアプリであるため、アプリコンポーネントに必要な機能を単純に実装できます。
タグでは、onmount()メソッドを「svelte」からインポートし、API_KEY、記事、およびURL変数を定義します。 🎜> onmountはライフサイクル方法です。公式チュートリアルがそれについて言っていることは次のとおりです
すべてのコンポーネントには、ライフサイクル
があります。これは、作成されたときに起動し、破壊されたときに終了します。そのライフサイクル中に重要な瞬間にコードを実行できるようにするいくつかの関数があります。最も頻繁に使用するのはオンマウントです。これは、コンポーネントが最初にDOMにレンダリングされた後に実行されます。
次に、フェッチAPIを使用してニュースエンドポイントからデータを取得し、コンポーネントがDOMにマウントされているときに記事変数に記事を保存しましょう。
npx degit sveltejs/template dailyplanetnews
次に、次のHTMLマークアップを追加してアプリケーションのUIを作成し、ニュースデータを表示しましょう。
各ブロックを使用してニュース記事をループし、各記事のタイトル、説明、URL、およびURLTOIMAGEを表示します。
Daily Planetのロゴと見出しは、DCコミックに触発されたこの非営利ニュース組織から借用されています。<span>cd dailyplanetnews </span><span>npm run dev </span>
次に、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>
アプリケーションを開発した後、ターミナルでビルドコマンドを実行することにより、生産バンドルを作成できます。
コマンドは、希望のホスティングサーバーでホストできる削除および生産対応のバンドルを作成します。
今すぐZeitを使用してアプリケーションをホストしましょう。
次に、パブリックフォルダーに移動して、nowコマンドを実行します:
<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>
それだけです!アプリケーションはクラウドに展開されます。私たちの場合、public-kyqab3g5j.now.sh。
から入手できます
このGitHubリポジトリからこのアプリケーションのソースコードを見つけることができます。結論
このチュートリアルでは、Svelteを使用してシンプルなニュースアプリを作成しました。また、Svelteとは何か、NPMのDegitツールを使用してSvelteプロジェクトを作成する方法も見ました。すべてのSvelte機能について学ぶための詳細なチュートリアルについては、公式ドキュメントを参照できます。
以上がSvelte Appプロジェクト:Daily Planet&#x27;のニュースアプリUIを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。