
Svelte框架介绍
与React、Vue、Angular等传统框架不同,Svelte是一个独特的前端框架,它采用编译时渲染而非运行时渲染,具有如下特点:
无虚拟dom:Svelte在构建时将组件编译为高效的原生JavaScript代码,运行时无需额外的框架代码,性能接近原生;
体积极小:编译后的代码体积远小于传统框架,加载速度更快;
简洁的语法:使用html/css/JavaScript原生语法,学习成本低,代码更直观;
响应式编程:通过简单的赋值操作实现响应式,无需setState或reactive等API;
内置状态管理:组件间通信简单,无需额外引入状态管理库;
Svelte框架安装运行
运行环境:
Node.js14.0.0或更高版本,丁老师更推荐使用Node.js 16以上的版本。
创建项目:
#使用官方模板创建项目
npx degit sveltejs/template my-svelte-app
#进入项目目录
cd my-svelte-app安装依赖:
npm install启动开发服务器:
npm run dev启动成功后,终端会显示项目地址(一般是http://localhost:5000),输入网址打开浏览器就能看到默认页面。
项目结构说明:
my-svelte-app/
├── public/ #静态资源(图片、字体等)
│ ├── favicon.png
│ └── index.html #入口的html
├── src/
│ ├── App.svelte #根组件
│ └── main.js #入口文件
├── package.json #项目配置
└── rollup.config.js #打包配置(类似webpack)编写第一个Svelte组件:
打开src/App.svelte,替换为以下内容:
<script>
let count=0;
function increment(){
count += 1;
}
</script>
<!--模板-->
<div class="container">
<h1>Hello Svelte!</h1>
<p>计数: {count}</p>
<button on:click={increment}>+1</button>
</div>
<!--css样式-->
<style>
.container{
text-align:center;
margin-top:50px;
}
button{
padding:8px 16px;
font-size:16px;
cursor:pointer;
background:#165DFF;
color:white;
border:none;
border-radius:4px;
}
</style>可以看到,无论是从语法结构,还是函数变量,Svelte的代码和html+css就是一模一样!太神奇了!
代码保存后,浏览器会自动刷新页面,页面会显示一个计数器,点击按钮可以看到字增长。可
构建生产版本:
当项目开发完成后,运行以下命令构建优化后的生产版本:
npm run build
#构建后的文件会生成在public/build目录下,可直接拷贝后部署到服务器。Svelte相关工具:
1.SvelteKit:Svelte官方的全栈框架,支持服务端渲染、路由、API等,类似基于React的Next.js;

#创建SvelteKit项目
npm create svelte@latest my-sveltekit-app2.IDE插件:推荐在VS Code中安装Svelte for VS Code插件,支持语法高亮和智能提示。

全文总结:
Svelte以简洁的语法和出色的性能,正在前端领域快速崛起,尤其适合追求轻量和高效的开发者。对于开发更复杂的应用,丁老师建议直接学习SvelteKit,提供了更完整的解决方案。同时丁老师提供基于Sveltekit的全栈应用开发,如果你在Sveltekit的开发过程中,有任何疑问,或是遇到了相关问题,欢迎联系丁老师进行咨询交流。
有做前端的同学在问,css的calc函数到底怎么使用啊,一直搞不清楚,糊里糊涂的,丁老师你能给我讲解一下吗?其实,calc是css样式表中,一个非常简单的函数,是计算数值用的,常用来作为宽度、高度等长度单位来使用。例子一,宽度自适应,两...
开发抖音小程序是一个涉及多个步骤的过程,需要准备相应的资料和工具。以下是开发抖音小程序需要准备的资料和步骤:1. 入驻抖音开发平台:首先,你需要在抖音开放平台注册一个开发者账号,并完成主体认证和对公认证。如果未完成认证,你可以在沙盒工具...
经常有使用wordpress做网站的客户咨询,wordpress里装了很多没用的插件,这些插件不知道怎么删除。今天丁老师来教给大家。wordpress删除插件的方法:1.使用管理员长啊后登录wordpress,进入Dashboard(控...
类目价格标准备注商城小程序(小型)10-20万小型B2C/B2b商城,满足基本商城的所有功能商城小程序(中型)30-60万中型B2C/B2b商城,拥有类似淘宝、京东、拼多多的全部基本功能,可对接物流、仓储系统,支持高并发,安全性和稳定性...
在fastadmin中,一个页面的非菜单链接,想要点击后打开指定页面,并且菜单自动展开,该怎么实现呢?经过丁老师研究后,发现超级简单,废话不多说,直接上代码:<a class="btn-addtabs" href=...
在使用jet brains的ide开发代码时,经常性的会输入单引号或双引号,ide默认有对于引号的自动完成功能,即输入一个引号,自动显示两个,这一点其实做的很不智能,因为在使用时经常会有显示出3个的情况,那么怎么关闭这个功能呢?file-s...
fastadmin里自定义按钮的btn-dialog,弹出窗口时默认大小,设置了data-area无效,经过研究后,发现了可用的方法,直接上代码不废话:table.on('post-body.bs.table',functi...
在日常开发过程中,突然发现svn无法提交和更新,出现“no path or pathfile specified on the command line”的错误,网上搜了一圈百度 google 以及stack overflow都没找到真正能...