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

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

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-09-03 09:04 浏览: 6088 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的开发过程中,有任何疑问,或是遇到了相关问题,欢迎联系丁老师进行咨询交流。

标签:

相关文章

Mysql给时间字段增加和减少时间的写法(1...

Mysql给时间加1年的方法,可以批量更新,如果是单条数据请注意sql语法date类型(如2025-06-28)#增加一年 update table set date_time=date_add(date_time,interval 1...

开发一个鸿蒙APP应用要多少钱?

最近有很多客户咨询,想要开发鸿蒙APP应用,但是开发一个鸿蒙APP要多少钱呢?和普通的安卓APP相比,价格是贵还是便宜呢?今天丁老师来介绍一下。鸿蒙应用,特别是采用原生鸿蒙技术栈,比如ArkTS/ArkUI进行开发,费用成本大概与普通安...

Maven是什么?为什么Java开发要用到M...

昨天有新学Java编程的同学咨询丁老师,Java开发中的Maven是什么呢?为什么现在Java软件开发都要用到Maven?今天就这个问题,丁老师用最简单、最直白,所有新手初学者都能听得懂的方式,做一下介绍。Maven是什么?简单的说,M...

微信企业付款到零钱开发

丁老师开发的微信企业付款功能,可以直接对接系统,在用户申请提现时由微信直接付款至个人的微信零钱账户

推荐文章

Uniapp开发微信小程序时,微信开发者工具...

在使用uniapp开发微信小程序,微信开发者工具调试时,明明已经给了获取位置权限,但还是提示需要打开gps获取位置,具体解决办法如下:打开uniapp的manifest.json文件,切换到源码模式,找到mp-weixin节点"p...

CodeIgniter框架URL如果去掉in...

在使用PHP框架CI时,有个很恶心的地方就是他的URL需要带上index.php,比如我要建一个user模块,想要实现www.xxx.com/user/的效果,但是在CI框架下必须要www.xxx.com/index.php/user这样才...

百度编辑器ueditor自动添加p标签换行的...

在实际工作中发现,有个编辑器每次保存或者修改后,都会自动在内容顶部和底部增加几行,烦人的很,一直找不到解决办法。后来发现原来是自己代码的问题。解决办法:内容在textarea中,不要换行不要写成:<textarea{content} ...

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

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