目录

svelte 入门

degit

简介

degit 是一个简单的利用了 github 的项目脚手架工具,degit 做的事很简单,复制 git 仓库代码。

安装

yarn global add degit
# or
npm install -g degit

使用

npx degit user/repo

# these commands are equivalent
degit github:user/repo
degit git@github.com:user/repo
degit https://github.com/user/repo

degit user/repo my-new-project

新建项目

直接从 svelte 模板仓库 clone 下来就可以了。

degit sveltejs/template my-svelte-app

快速入门

下文假设读者有一定 vue 或 react 一类前端框架使用经验。

模板

svelte 的文件后缀就是 .svelte,其本质就是一个 HTML 文件,其中包含js,css,模板三个部分。

<script>
  // javascript here
  let name = 'svelte'
</script>

<style>
  /* styles goes here */
  p {
    font-size: 2em;
  }
</style>

<!-- and template below  -->
<p>hello, { name }</p>

属性

就像可以使用花括号控制文本一样,也可以使用花括号控制元素属性。

<img src={imgSrc}>

速记属性

变量名称与属性名称相同时,比如 src={src},可以使用 svelte 提供的速记属性语法糖:

<img {src} alt="logo">

样式

.svelte 文件中定义的样式只在当前组件生效。即便是当前组件被 import 到其他组件中充当子组件也不会受到影响。

组件

<!-- Logo.svelte -->
<img src="/logo.png" />
<!-- App.svelte -->
<script>
  import Logo from './Logo.svelte'
</script>

<Logo />

原始 HTML

当变量中有敏感字符时(例如 <>),svelte会将其转义以避免 XSS,如果要输出 HTML 可以使用 {@html ...} 实现。

<script>
  let string = `this string contains some <strong>HTML!!!</strong>`;
</script>

<p>{@html string}</p>