首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Svelte中文文档 1基础介绍

如果你有什么好的想法,或者翻译中存在什么错误,欢迎指正,非常感谢。 一.介绍 欢迎来到Svelte的教程。它将使你轻松学会构建一个快速的小型web应用程序。...但是Svelte有一个关键的不同:Svelte在构建时能够转换成理想的JavaScript,而不是在你的应用程序运行时解释你的代码。这意味着你无需负担由于框架抽象或者在应用首次加载时产生的性能损耗。...你可以使用Svelte构建你的整个应用程序,或者你可以在现有的代码基础之上渐进式的使用Svelte。你也可以将组件作为独立的包在任何地方使用,不会有依赖常规框架的使用成本。...后面的每一篇教程中将有一个‘Show me’的按钮,如果你在练习的过程中遇到问题的话,可以点击它。尽量不要过分依赖它。通过编辑区手动练习每一个提示代码块,你将学习的更快。...理解组件 在Svelte中,一个应用程序由一个或更多的组件组成。组件是一个可复用的独立的代码块,他由HTML,CSS,JavaScript封装而成。文件后缀写为.svelte。

1.8K71

在10分钟内概览Svelte 3的基础知识

default app; 这里需要注意的是, .svelte 如果仔细观察,我们将导入一个.svelte文件,这是svelte的一个组件,在第三行中,我们实例化了该对象。...,从这里,我们可以在svelte上下文之外将它们提供给我们的组件,因为它没有父级对象。...props是通过export let [PROPNAME]在组件内部声明来定义的。然后我们可以通过几种方式提供给Svelte组件。...Svelte会自动将所有样式的范围调整到每一个组件,因此不需要BEM或者其他的CSS界定方法,但是要到达HTML标签,我们需要进入全局的范围中,幸运的是,我们现在可以使用:global{element}...不要忘记将值放在方括号中以表示其js值而不是文本值{thing}。 就像您使用bind一样,在class:done等于的标签上添加**a标签 **todo.done.

1.8K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    为什么用 Svelte 写一个小程序如此快速?我用10分钟就搞定了!

    要告诉Svelte钩子事件,我们只需在on和其余的事件名称之间添加一个冒号——在本例中是on:keydown。在那之后,我们使用花括号并将函数名放在里面。该函数在每次事件触发时被调用。...注意,我们在Angular或Vue 2中发现的这种上下文缺少,或者在Vue 3中缺少特殊值对象,或者在React中缺少setState。在这种情况下,Svelte不需要额外的语法来知道变量已经更新。...这也是为什么Svelte应用程序的包大小如此之小的原因:所有不需要的东西都不会出现在输出中,所以Svelte可以省去运行时中所有不需要的部分。...如果您担心上面的代码将样式化整个应用程序中的所有、或标记,请放心,它不会。默认情况下,精简作用域样式,所以它们只适用于定义它们的组件。...将所有这些都放在一个组件中,随着时间的推移将变得难以维护。幸运的是,使用其他组件就像从另一个Svelte文件中导入它作为默认导入一样简单,并以类似于我们已经看到的常规DOM元素的方式与它交互。

    2.9K10

    都快2020年,你还没听说过SvelteJS?

    Svelte组件的文件名都是以.svelte结尾的,一个组件文件通常会包含以下三部分内容: •标签,和组件相关的任何JavaScript代码都可以放在这里,例如组件的状态定义或者一些异步...注意这里的CSS是局部生效的(scope),也就是说App.svelte中的h1标签的样式只会对App组件内的h1标签生效,而对项目其他的包括这个组件的子节点的h1标签失效。...总的来说Svelte会将所有和组件相关的JavaScript,CSS和HTML代码都放在同一个文件里面,这个做法有点像Vue,不过和Vue相比它的模板代码更少。...然后在父级组件App中,将BookCard需要的参数传给该组件: // src/App.svelte ......由于文章篇幅的限制我在这里没有覆盖Svelte所有的属性,大家兴趣可以看一下svelte的官方教程[11]。

    3.2K10

    前端新宠 Svelte 带来哪些新思想?赶紧学起来!

    而 Svelte 在未使用虚拟DOM的情况下实现了响应式设计。 我以粗暴的方式理解:Svelte 会监听顶层组件所有变量,一旦某个变量发生变化,就更新使用过该变量的组件。...在 Vue2 中,响应式数据要放在 data 里,在 methods 中使用 this.xxx 来更新数据。...基础组件 在 Svelte 中,创建组件只需要创建一个 .svelte 为后缀的文件即可。 通过 import 引入子组件。...子传父 如果想在子组件中修改父组件的内容,需要把修改的方法定义在父组件中,并把该方法传给子组件调用。 同时需要在子组件中引入 createEventDispatcher 方法。...,子组件传过来的值都会放在 detail 属性里。

    4.2K20

    一文讲透前端新秀 svelte

    编写一个 svelte 组件的体验,跟开发原生 web 基本相同:写 HTML 文档结构,在 script 标签内编写 js 代码,在style 标签内编写样式。...有了 web component,甚至可以在原生 js ,vue ,react等其他框架中使用 svelte编写的组件。...脚本(script),样式(style) 与 HTML 语法结构高度一致 与 HTML是,在 script 里声明的所有变量,都可以在模版中引用。...当进行数组操作,如push,splice, unshift等,因为不满足响应的数据放在等号的左侧的原则,我们需要多写一点代码,来触发svelte的响应式: let todos = []function...过程中感受的是现阶段的 svelte 已经相当成熟,开发过程中遇到的问题,基本可以通过官方文档,社区找到解决方案。整体的体验是很顺滑的。

    4.5K20

    9个不错的前端开源项目

    为了帮助你在2020年成为前端大师,我收集了9个不同的项目,每个项目都有不同的主题和不同的JavaScript框架或库作为技术栈,您可以构建它们并将它们添加到学习计划中。...您将学到什么 在构建此应用程序时,您将使用相对较新的Hooks API来提高React技能。该示例项目利用了React组件,许多hook,一个外部API,当然还有一些CSS样式。...您将学到什么 在本教程中,您将学习如何利用Gatsby构建出色的博客,以便在使用React和GraphQL的同时编写自己的文章。...如果没有,该教程中将有一个指向Quasar网站的链接,在那里他们向您展示了如何进行设置。...还是您会依赖自己喜欢的框架/库,并在2020年完成所有项目?

    7K30

    前端框架「React」 VS 「Svelte」

    所有的 JavaScript 代码都位于 Svelte 文件顶部的 标签当中。...然后是 HTML 代码,你还可以在 标签中编写样式代码。有趣的是,组件中的样式代码只对当前组件有效。这意味着在组件中为 标签编写的样式不会影响到其他组件中的 元素。...「React」 在 React 项目中,打开 App.js 文件,清空所有内容,然后添加如下代码: function App() { } export default App; 这几行代码创建并输出了一个最基础的函数式组件...这不是一个有状态的组件,其接收状态值 count 来显示按钮点击次数。 在 Svelte 项目的 src 文件夹中创建一个名为 Heading.svelte 的文件。...在 Svelte 项目的 src 文件夹中创建新文件 Button.svelte. 在 React 项目的 src 文件夹中创建新文件 Button.js.

    3.6K30

    前端框架 React 和 Svelte 的基础比较

    然后是 HTML 代码,你还可以在  标签中编写样式代码。有趣的是,组件中的样式代码只对当前组件有效。...这意味着在组件中为  标签编写的样式不会影响到其他组件中的  元素。...React 在 React 项目中,打开 App.js 文件,清空所有内容,然后添加如下代码: function App() { } export default App; 这几行代码创建并输出了一个最基础的函数式组件...这不是一个有状态的组件,其接收状态值 count 来显示按钮点击次数。 在 Svelte 项目的 src  文件夹中创建一个名为 Heading.svelte 的文件。...在 Svelte 项目的 src 文件夹中创建新文件 Button.svelte. 在 React 项目的 src 文件夹中创建新文件 Button.js.

    2.2K50

    Svelte框架:编译时优化的高性能前端框架

    这意味着在开发阶段,Svelte会分析组件的声明,并将其转换为最小化的、优化过的JavaScript,这些JavaScript在用户浏览器中运行时具有极高的效率。...组件生命周期Svelte组件有自己的生命周期方法,它们在组件创建、更新和销毁时被调用。这些方法包括:onMount: 当组件挂载到DOM时调用。onDestroy: 当组件从DOM中移除时调用。...beforeUpdate 和 afterUpdate: 在组件更新前和更新后调用,用于在渲染过程中执行逻辑。...Slots: Svelte的插槽机制允许在父组件中插入子组件的内容,实现内容分发。...Svelte在企业级应用中的采用可能受到生态和社区规模的限制。应对策略:成功案例:展示Svelte在大型项目中的成功应用,证明其在性能、可维护性和扩展性方面的优势。

    15510

    尤大亲自评测 Vue3 和 Svelte(19个组件后Vue更好!)

    这是因为在一个 bundle 的应用程序中,这些 imports/exports不需要或在多个组件之间共享。...Todomvc 非常具有代表性,代表大多数用户在应用场景中构建使用的组件。我们可以合理地假设在现实场景中会发现类似的大小差异。...但是,保守估计 应用 APP 如果比 19个组件 这个阈值(或者在SSR模式下的13个 )越大,Svelte 的体积优势就越少。 结论 在仓库的README中尤大给出了两个结论,我就给它移到了最后。...Svelte 单组件在普通模式下比 Vue3 单组件约大70% ,在 SSR 模式下大110% (公众号作者秋风注:其实这里尤大说的有点问题,这个70%指的是当前 todomvc 组件的大小对比,并不代表着所有...Svelte 仍然很棒,适用于一次性组件(例如,作为自定义元素包装),但它在大规模 APP 中在体积大小方面实际上是它的缺点,特别是SSR。

    2K40

    耗时两周从Vue 2迁移到Svelte后:代码执行更快、体验更佳

    最终结论是: Svelte 单组件在普通模式下比 Vue 3 单组件约大 70%(这个 70% 指的是当前 todomvc 组件的大小对比,并不代表着所有 Svelte 组件 都比 Vue 3 组件大...在 SSR 场景中,这个阈值会更低。对于某个项目来说,当编写的组件大于 19 个(SSR 模式为 13 个组件),Svelte 的优势与 Vue 3 相比就不存在了。...在Svelte中,开发者可以直接编写自己的HTML。 第六,Svelte 中会自动限定样式范围。这对可维护性来说是个好消息,有助于避免意料之外的 CSS 影响。...之后,技术团队开始在 Storybook 中创建新组件,最后由各位开发人员用 Svelte 重写自己负责的页面。...Svelte 通过将逻辑(JS)、结构(HTML)和样式(CSS)组合在同一文件中,大大优化了面向组件代码的可读性和可维护性。其独特之处,就在于所有元素都会被编译在同一.svelte 文件当中。

    3K30

    React vs Svelte

    所有的 JavaScript 代码都位于 Svelte 文件顶部的 标签当中。...然后是 HTML 代码,你还可以在 标签中编写样式代码。有趣的是,组件中的样式代码只对当前组件有效。这意味着在组件中为 标签编写的样式不会影响到其他组件中的 元素。...「React」 在 React 项目中,打开 App.js 文件,清空所有内容,然后添加如下代码: function App() { } export default App; 这几行代码创建并输出了一个最基础的函数式组件...这不是一个有状态的组件,其接收状态值 count 来显示按钮点击次数。 在 Svelte 项目的 src 文件夹中创建一个名为 Heading.svelte 的文件。...在 Svelte 项目的 src 文件夹中创建新文件 Button.svelte. 在 React 项目的 src 文件夹中创建新文件 Button.js.

    3K30

    🚀Svelte原理和进阶看这篇就够了🚀

    React会从应用根节点开始重新加载,Vue会从所在组件开始重新加载。 Svelte回归到了原生JavaScript,在Svelte中,每个组件都有一个对应的JavaScript类,称为“组件实例”。...当组件状态发生变化时,Svelte会生成一个新的组件实例,并使用差异算法比较新旧组件实例的DOM结构,然后更新需要更改的部分。...,会返回一个继承了SvelteComponent的类,并且在构造函数中执行了init方法,它的其中一个参数为在组件中定义的create_fragment函数。...svelte在编译时,会检测所有变量的赋值行为,并将变化后的值和赋值的行为,作为创建片段的参数。 这就是svelte朴素的编译原理。 Svelte运行时原理 现在我们又有了一个新的问题。...在进入运行时,首先执行init方法,该方法大致流程如下: 初始化状态 初始化周期函数 执行instance方法,在回调函数中标记脏组件 执行所有beforeUpdate生命周期的函数 执行创建片段create_fragment

    1.9K90

    从Todolist入门Svelte框架

    框架在html中写if-else判断,点击状态按钮使当前todo对象的状态值改变,然后根据不同的状态值加载不同的html标签,在写的过程中遇到一个神奇的问题 {#if user.loggedIn} 在阅读文档的过程中还是比较生疏,没怎么接触过数据库的内容,大概了解了之后在实际写的过程中还是遇到了相当多的问题,再加上国庆7天因为准备篮球队11月初的省赛早上9...而Svelte直接编译生成DOM,理论上性能和手写原生js相同。Svelte应用所有需要的运行时代码都包含在bundle.js里面了,除了引入这个组件本身,你不需要再额外引入一个运行代码。...但是用 Svelte 就不一样,一个 Svelte 组件编译了以后,所有需要的运行时代码都包含在里面了,除了引入这个组件本身,你不需要再额外引入一个所谓的框架运行时。 ​...不错的运行速度 前端框架性能对比,结果中Svelte 略逊于Vue, 但好于 React。

    1.5K20

    排名靠前的几个JS框架发展趋势和前景

    那么,在众多前端框架中,哪些在2020年更受关注和追捧呢? 本文罗列了几个当下最受欢迎的前端框架,排名只是根据作者自身的使用经验、日常研究、框架的语法结构和易用性等特性进行排名。...是否在大厂和开发者社群中受到推荐,如GitHub、NPM趋势、Google趋势等。 是否具备一个规模庞大且活跃的技术社区。 5. velte.js —— 麻雀虽小,五脏俱全 ?...这是一个用TypeScript编写的基于组件的开源JavaScript框架,于2016年发布。 2020年以来,Svelte的使用量急剧增加。 ?...Svelte的优势: 与React不同,Svelte没有虚拟DOM。其组件完全用HTML、CSS和JavaScript编写。 Svelte编译器可编译原始JavaScript模块,该模块不依赖于框架。...Ember自发布以来,在开发人员社区中的使用率逐渐增加。 ?

    1.4K20
    领券