美文网首页
Svelte安装使用篇

Svelte安装使用篇

作者: testerzhang | 来源:发表于2020-11-03 19:36 被阅读0次

什么是 Svelte?

Svelte 是一个构建 web 应用程序的工具。

Svelte 与诸如 React 和 Vue 等 JavaScript 框架类似,都怀揣着一颗让构建交互式用户界面变得更容易的心。

但是有一个关键的区别:Svelte 在 构建/编译阶段 将你的应用程序转换为理想的 JavaScript 应用,而不是在 运行阶段 解释应用程序的代码。这意味着你不需要为框架所消耗的性能付出成本,并且在应用程序首次加载时没有额外损失。

你可以使用 Svelte 构建整个应用程序,也可以逐步将其融合到现有的代码中。你还可以将组件作为独立的包(package)交付到任何地方,并且不会有传统框架所带来的额外开销。

svelte特点

1.更少的代码,编译时将源代码编译成无框架的、更小的执行代码。
2.没有虚拟DOM,不再需要通过虚拟DOM对比差异去优化更新Dom操作。
3.更简单的响应式编程。

安装

  • 保证有nodejs环境
    我的环境刚开始是v8.17.0,使用demo运行的时候会报错,换成v12.18.2没有报错。

报错信息:

> rollup -c -w

/Volumes/mydisk/2020/2020code/svelte3demo/my-svelte-project/node_modules/rollup/dist/shared/loadConfigFile.js:480
        ? (await import(url.pathToFileURL(fileName).href)).default
                 ^^^^^^

SyntaxError: Unexpected token import
  • 开始创建项目
$ npx degit sveltejs/template my-svelte-project
$ cd my-svelte-project
$ npm install
$ npm run dev

运行成功后控制台会显示:

  Your application is ready~! 🚀

  - Local:      http://localhost:5000
  - Network:    Add `--host` to expose

启动效果图

image.png

目录结构

./.gitignore
./package-lock.json
./package.json
./public/build/bundle.css
./public/build/bundle.css.map
./public/build/bundle.js
./public/build/bundle.js.map
./public/favicon.png
./public/global.css
./public/index.html
./README.md
./rollup.config.js
./scripts/setupTypeScript.js
./src/App.svelte
./src/main.js
  • src/main.js
import App from './App.svelte';

const app = new App({
    target: document.body,
    props: {
        name: 'world'
    }
});

export default app;
  • src/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>

其中我们可以看到name是一个变量,进行了赋值。

我们去掉杂七杂八的代码,加载动图,效果如下:这里因为截取的是静态图,实际图片是会动的。

image.png

好了,今天就先学习到这里了。

相关文章

网友评论

      本文标题:Svelte安装使用篇

      本文链接:https://www.haomeiwen.com/subject/mdwmvktx.html