Maison >interface Web >js tutoriel >Svelte 3: un cadre JavaScript basé sur un compilateur radical
svelte 3: Une nouvelle approche du développement frontal
Cet article explore Svelte 3, un cadre JavaScript frontal unique qui se distingue par son processus de compilation. Contrairement aux cadres comme React, qui expédient un grand bundle JavaScript, Svelte compile des applications en code JavaScript significativement plus petit et optimisé. Cette optimisation, obtenue pendant le processus de construction, se traduit par des applications plus rapides et plus efficaces.
Svelte offre également une approche distinctive de la gestion des données et de la manipulation DOM. Il met directement à jour le vrai DOM, éliminant le besoin d'un DOM virtuel, conduisant à des performances améliorées. Ceci, associé à sa création de composants intuitifs et à ses états réactifs intégrés, rend le développement agréable et efficace. Même les développeurs de React ou Vue assaisonnés trouveront Svelte qui vaut la peine d'être exploré. Créons une application simple pour démontrer ses capacités.
Avantages clés de svelte:
Prise de démarrage:
Pour éviter les complexités de regroupement et d'infrastructures, nous suivrons le tutoriel officiel de Svelte. Assurez-vous que le nœud et le git sont installés. Ensuite, exécutez:
<code class="language-bash">npx degit sveltejs/template github-repository-searcher</code>
Cela clones le modèle svelte dans le répertoire <code>github-repository-searcher et configure l'outillage nécessaire. Ensuite, accédez au répertoire (cd github-repository-searcher
) et exécutez <code>npm install pour installer des dépendances. Enfin, <code>npm run dev démarre le serveur de développement à l'aide de Rollup. Accéder à l'application à <code>http://localhost:5000.
Construire un composant svelte:
Les composants svelte résident dans les fichiers <code>.svelte. Le modèle fournit <code>App.svelte, structuré en trois sections:
<code>Search
{/chaque}
<code>App.svelte
repositories
Importer <code> Rechercher dans <code> app.svelte
et l'utiliser conditionnellement en fonction de la disponibilité de <code> des référentiels. <code>$:
Search.svelte
<code>filteredRepos Réactivité et filtrage: <code>userSearchTerm <code>repositories
dans <code> search.svelte . Cela garantit que <code> filteredRepos met à jour chaque fois que <code> ushersearchTerm
ou <code> des référentielsmodifie. Des approches alternatives utilisant des fonctions ou des auditeurs d'événements sont également discutées, mettant en évidence les avantages des fonctionnalités de réactivité de Svelte. <code>npm run build
build de production:
Run <code> NPM Run build <p> Pour créer un bundle prêt pour la production. La taille du faisceau résultante est généralement faible en raison du processus de compilation de Svelte. </p> <p> <strong> Conclusion: </strong> </p> <ul> Svelte offre une alternative convaincante aux cadres traditionnels, mettant l'accent sur l'efficacité et les performances du code. Sa syntaxe intuitive et ses fonctionnalités intégrées simplifient le développement, ce qui en fait un concurrent solide pour le développement frontal. <li> <strong> </strong> svelte FAQ (version concise): </li> <li> <strong> </strong> </li> Qu'est-ce que svelte? <li> Un framework JavaScript compilant à un code optimisé, en passant du travail de l'exécution au temps de construction. <strong> </strong> </li> En quoi Svelte diffère-t-il de React / Vue? <li> Svelte se compile en code plus petit et plus rapide; React / Vue fait plus de travail dans le navigateur. <strong> </strong> </li> Comment svelte gère les composants? <li> Les composants sont-ils écrits dans une syntaxe de type HTML / CSS / JS et compilée en JavaScript efficace. <strong> </strong> </li> Svelte utilise-t-il un Dom virtuel? <li> Non, il met directement le vrai Dom. <strong> </strong> </li> Qu'est-ce que sveltekit? </ul> Un cadre de niveau supérieur pour créer des applications Web complètes en plus de Svelte. <p> <img src="https://img.php.cn/upload/article/000/000/000/173932009210437.jpg" alt="Svelte 3: A Radical Compiler-based JavaScript Framework"> </p> Avantages de svelte? <script></script>: Contains JavaScript logic.<style></style>
: Houses scoped CSS (styles are confined to the component).To ensure efficient editing, install a Svelte extension for your code editor.
User Input and GitHub API Interaction:
Our application prompts the user for a GitHub username, then fetches their repositories using the GitHub API. We'll modify <code>App.svelte:
<code class="language-html"><main> <form on:submit> <label for="username">Enter a GitHub username:</label> <input type="text" name="username" placeholder="jackfranklin" bind:value="{usernameInputField}"> <button type="submit">Load repositories</button> </form> {#if repositories} <search repositories="{repositories}"></search> {/if} </main></code>
<code class="language-javascript">let usernameInputField = ""; let repositories = undefined; async function onSubmit() { const url = `https://api.github.com/users/${usernameInputField}/repos`; const response = await fetch(url); repositories = await response.json(); }</code>
Creating and Using the Search Component:
Create <code>Search.svelte to display and filter repositories. This component accepts <code>repositories as a prop:
<code class="language-svelte"><script> export let repositories; let userSearchTerm = ""; $: filteredRepos = repositories.filter((repo) => repo.name.toLowerCase().includes(userSearchTerm.toLowerCase()) ); </script> tailles de faisceaux plus petites, performances plus rapides, syntaxe simple, moins de buissier. </code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!