​弹指之间即可完成。
 
注意:原文发表于 2017-8-7,随着框架不断演进,部分内容可能已不适用。
 
 
Svelte 是一种新型框架
 
以往我们要引入一个框架或者类库,可以通过在页面上放置 script 标签:
 
<script src='svelte.js'>
另一种方式是将其通过 import 或者 require 引入。
 
Svelte 与众不同,它其实是一个编译器,隐匿在幕后运筹帷幄,它将组件文件转换为被完美优化后的 JavaScript。
 
正因如此,您初次接触时可能会“水土不服”。
 
那么,入门时应当如何编写一个 Svelte 应用呢?
 
 
使用 REPL
 
Svelte REPL 是您初试锋芒的最佳实践方式。
 
可以在 REPL 的示例列表中,选中某个示例,然后频频加以修改,不断试验出您想要的效果。
 
待到所写程序已超出 REPL 力所能及的规模时,可点击下载按钮,将 REPL 中的代码压缩到 “svelte-app.zip 文件,然后下载到电脑并解压它。
 
您需要安装 node.js,并知道如何使用终端。
 
然后,打开终端,配置好项目:
 
cd /path/to/svelte-app
npm install

… 接着,启动一个开发服务器:

npm run dev
这将把您的应用部署在 localhost:5000, 您每次修改 svelte-app/src 目录下的任意文件时,Rollup 都会自动重新构建应用。
 
 
使用 degit
 
其实从 REPL 下载的代码,是一个定制版本的 sveltejs/template 项目库(Repository)。您也可以使用 degit(一个项目搭建工具)免除了使用 zip 文件的麻烦。
 
在终端里,您可以像下方这样立即创建一个新项目:
 
1 npx degit sveltejs/template my-svelte-project
2 cd my-svelte-project
3
4 # 要使用 TypeScript 请执行:
5 #node scripts/setupTypeScript.js
6
7 npm install npm run dev
这将在 my-svelte-project 目录中创建一个新的项目,然后安装所有依赖,并在 localhost:5000 上启动一个服务器。
 
您可以在这儿获得更多关于使用 TypeScript 的信息。
 
当您要对模板稍作修改,并理解了所有东西是如何组合在一块儿的前提下,您就可以 fork sveltejs/template 的分支,用这种方式替代官方的库:
 
npx degit your-name/template my-new-project
大功告成!
 
最后可以使用  npm run build  来创建您应用的产品就绪的版本,并查看项目模板中的 README 文件,了解怎样使用 VercelSurge 轻松地将应用部署到 Web 上。
 
你并不局限于使用 Rollup。
 
 
你还可以使用 WebpackBrowserify 或其他的集成工具,又或者你可以使用 Svelte CLI(2019 年更新:CLI 已被淘汰了。现在我们的模板使用的是 sirv-cli。诸多方法,任君选择!),也不妨直接使用 API
 
 
如果你使用了上述工具的任意一种来制作出一个项目模板,请在 Svelte 讨论聊天室 跟我们分享,或者在 Twitter 中 @sveltejs
 
 
 
<The End>

Svelte 极简入门的更多相关文章

  1. Git 极简入门教程学习笔记

    Git 极简入门教程  http://rogerdudler.github.io/git-guide/index.zh.html 测试用 https://github.com/xxx/BrnShop. ...

  2. .Net Core in Docker极简入门(下篇)

    Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 Docker-Compose 代码修改 yml file up & down 镜像仓库 最后 前言 上一篇[. ...

  3. ElasticSearch极简入门总结

    一,目录 安装es 项目添加maven依赖 es客户端组件注入到spring容器中 es与mysql表结构对比 索引的删除创建 文档的crud es能快速搜索的核心-倒排索引 基于倒排索引的精确搜索. ...

  4. Spring Security极简入门三部曲(上篇)

    目录 Spring Security极简入门三部曲(上篇) 写在前面 为什么要用Spring Security 数据库设计 demo时刻 核心代码讲解 小结 Spring Security极简入门三部 ...

  5. Spring Security极简入门三部曲(中篇)

    目录 Spring Security极简入门三部曲(中篇) 验证流程 Authentication接口 过滤器链 AuthenticationProvider接口: demo时刻 代码讲解 小结 Sp ...

  6. Express + Mongoose 极简入门

    今天尝试使用express + mongoose,构建了一个简单的Hello world,实现以下功能: 定义mongodb使用的Schema,一个User 访问/输出Hello world 访问/i ...

  7. Spring Boot 如何极简入门?

    Spring Boot已成为当今最流行的微服务开发框架,本文是如何使用Spring Boot快速开始Web微服务开发的指南,我们将创建一个可运行的包含内嵌Web容器(默认使用的是Tomcat)的可运行 ...

  8. Nginx 极简入门教程!

    上篇文章和大家聊了 Spring Session 实现 Session 共享的问题,有的小伙伴看了后表示对 Nginx 还是很懵,因此有了这篇文章,算是一个 Nginx 扫盲入门吧! 基本介绍 Ngi ...

  9. 【Java杂货铺】用Security做权限极简入门

    原来大多数单体项目都是用的shiro,随着分布式的逐渐普及以及与Spring的天生自然的结合.Spring Security安全框架越受大家的青睐.本文会教你用SpringSecurity设计单项目的 ...

随机推荐

  1. Effective Java读书笔记--对所有对象都通用的方法

    1.覆盖equals请遵守通用规定.不需要覆写equals的场景:a.类的每个实例都是唯一的.b.类不需要提供"逻辑相等"的测试功能.c.超类已经覆盖了equals的方法.d.类是 ...

  2. sqoop使用以及常见问题

    1.hdfs文件的权限问题 问题分析与解决: 根据报错信息是hdfs文件的权限问题,命令进入集群执行的用户为null,而hdfs文件所有者为hdfs. 要么以用户hdfs执行命令,要么调整hdfs文件 ...

  3. CF 1326 D. Prefix-Suffix Palindrome

    D. Prefix-Suffix Palindrome 题意 给一个字符串 s,求一个字符串 t,t 由 s 的某个前缀以及某个后缀拼接而成,且 t 是回文串,长度不能超过 s.输出最长的 t 分析 ...

  4. Codeforces Global Round 9 D. Replace by MEX

    题目链接:https://codeforces.com/contest/1375/problem/D 题意 给出一个大小为 $n$,元素值位于 $[0,n]$ 之间的数组,每次可以将一个元素替换为数组 ...

  5. codeforces578C. Weakness and Poorness

    time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...

  6. VS Code 搭建合适的 markdown 文档编写环境

    写在开头,之前我是使用Gitee与Github作为图床和Picgo搭配Typora使用的 ,但因为最近觉得这样还是稍微比较繁琐,然后因为VS Code是我的主要文本编辑器.Cpp,Python等均是在 ...

  7. cmder设置方法

    一.添加鼠标右键 Cmder.exe /REGISTER ALL 二.添加系统环境变量 我的电脑 > 右键属性 > 高级系统设置 > 环境变量 > 系统变量,在path中添加 ...

  8. meidi

    最近觉得某些公司的选择题也是很基础,非常值得总结回味.今天做了美的的笔试,20道选择题(单选14+6多选).特此记录如下(部分忘了烦请见谅): 1. 是我昨晚刚刚总结的List,Set,Map的区别: ...

  9. RT-Thread学习笔记2-互斥量与信号量

    目录 1. 临界区保护 1.1 方法一:关闭系统调度保护临界区 1.2 方法二:互斥特性保护临界区 2. 信号量 2.1 信号量的定义 2.2 信号量的操作 3. 生产者.消费者问题 4. 互斥量 4 ...

  10. Vue UI lib missing vue bug

    Vue UI lib missing vue bug Error Uncaught TypeError: Cannot read property 'prototype' of undefined a ...