首页 > 原创文章 > 软件开发 > 查看文章

Svelte框架介绍及环境配置运行

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-09-03 09:04 浏览: 6587 IP属地: 深圳

svelte-1.png

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;

72c58c80-9727-11eb-98b2-f352fded32b9.png

#创建SvelteKit项目
npm create svelte@latest my-sveltekit-app

2.IDE插件:推荐在VS Code中安装Svelte for VS Code插件,支持语法高亮和智能提示。

8B1vaTv.gif

全文总结:
Svelte以简洁的语法和出色的性能,正在前端领域快速崛起,尤其适合追求轻量和高效的开发者。对于开发更复杂的应用,丁老师建议直接学习SvelteKit,提供了更完整的解决方案。同时丁老师提供基于Sveltekit的全栈应用开发,如果你在Sveltekit的开发过程中,有任何疑问,或是遇到了相关问题,欢迎联系丁老师进行咨询交流。

标签:

相关文章

一些常用的CSS代码分享

flex-space-betweendisplay:flex;justify-content:space-between;flex-columndisplay:flex;flex-flow:column;flex居中display:fl...

签名算法的MD5/RSA/SHA1/SHA2...

我们在从事软件开发过程中,经常会遇到使用签名算法,比如在线支付、API接口调用、数据推送、报文校验、身份授权等场景,每一个过程都需要进行签名,原理是请求的数据在发送数据的同时,对数据根据算法进行签名,然后服务端接收数据时,除了校验基本数...

微信小程序图片显示不了报404错误的解决办法

该问题指针对使用宝塔BT面板的同学。在日常开发微信小程序的过程中,突然发现很简单的一个图片调用报404错误了,检查URL是正确的呀,在浏览器中可以打开,并且检查了服务器文件夹,的确有这个文件,排除了缓存的可能,那么到底是什么问题造成微信...

短信网址/html网页打开APP和小程序的方...

应用场景场景1:使用APP或小程序,分享给别人的网页内容,当用户打开这个网页内容时,可以自动打开APP或小程序。场景2:短信群发给目标人群,短信内容包含短网址,打开短网址后,可以打开APP或小程序。实现方法:无论是场景1还是场景2,其技...

推荐文章

微信小程序从开发到实现微信支付的全过程

微信小程序部分一、完善小程序基本信息1.用管理员账号登录微信小程序(https://mp.weixin.qq.com/);2.左侧菜单选择首页;3.完善小程序的基本信息,包括小程序名称、小程序类目、微信认证、微信备案等。二、小程序开发配置1...

Mui的toast修改位置居中

mui的toast默认是在底部的,并且没有参数设置位置,经过研究发现可以通过修改css的方式设置位置,具体方法如下:1.mui toast设置type为divmui.toast('hello', { type: 'd...

VideoJs宽度高度自适应100%的方法

videojs是一款非常不错的html video播放器插件,很多同学经常在群里问我,说丁老师这个videojs怎么设置为宽度或者高度自适应呢,不想把video的width和height写死,有没有什么办法呢。丁老师经过研究发现啊,vide...

Uniapp开发微信小程序怎么模拟位置?

废话不多说,直接上货。在微信开发者工具调试栏,找到Sensor(传感器)。Geolocation,勾选启用,下边输入经纬度即可!