
一、什么是 Svelte?
Svelte 用于构建快速的 Web 应用,月react与vue有不同,他不需要虚拟dom,而是在代码构建的时候直接转换成原生的js代码,这在效率上要比vue和react要快,性能更优。今天我们来一步一步介绍用svelte创建一个图书管理系统,包含增加添加购物车、列表效果。二、Svelte编写一个图书管理系统
创建一svelte项目叫svelte-bookstore
npx degit sveltejs/template svelte-bookstore cd svelte-bookstore npm install npm run dev好了,项目已经运行起来了。

浏览器打开http://localhost:8080/,我们可以看到页面内容了。

我们看看目录


他是使用rollup来进行打包的。
看看main.js
import App from './App.svelte';
const app = new App({
target: document.body,
props: {
name: 'world'
}
});
export default app;
它导入了app.svelte文件,然后挂载到body上面显示,那么我们看看app.svelte<script>
export let name;
</script>
<main>
<h1>Hello {name}!</h1>
<p>Visit the <a href="https://svelte.dev/tutorial">Svelte tutorial</a> to learn how to build Svelte apps.</p>
</main>
<style>
main {
text-align: center;
padding: 1em;
max-width: 240px;
margin: 0 auto;
}
h1 {
color: #ff3e00;
text-transform: uppercase;
font-size: 4em;
font-weight: 100;
}
@media (min-width: 640px) {
main {
max-width: none;
}
}
</style>
可以看出svelte文件由三部分构成,script及main和style下面我们来写一个图书添加和列表显示的功能
在src目录下创建一个book.svelte文件,代码如下:
<script>
import { createEventDispatcher } from "svelte";
import Button from "./button.svelte";
export let bookTitle;
export let bookPrice;
export let bookDescription;
const dispatch = createEventDispatcher();
function purchaseBook() {
dispatch("buy", bookTitle);
}
</script>
<div>
<h1>{bookTitle}</h1>
<h2>{bookPrice}</h2>
<p>{bookDescription}</p>
<Button on:click={purchaseBook}>Buy</Button>
</div>
<style>
div {
...点击查看剩余70%
网友评论0