尝鲜少代码高性能的Svelte框架

简介: Svelte 是一种全新的构建用户界面的方法。传统框架(如 React 和 Vue)在浏览器中完成大部分工作,而 Svelte 将这些工作转移到构建应用程序时发生的编译步骤。通过本教程中,你将从头开始构建自己的应用,分别使用 Svelte -Cli 和 云开发平台

为什么要使用Svelte

Svelte 是一种全新的构建用户界面的方法。传统框架(如 React 和 Vue)在浏览器中完成大部分工作,而 Svelte 将这些工作转移到构建应用程序时发生的编译步骤。

Svelte 没有使用虚拟 DOM diffing 之类的技术,而是编写了在应用程序状态发生变化时以手术方式更新 DOM 的代码。

通过本教程中,你将从头开始构建自己的应用,分别使用 Svelte -Cli 和 云开发平台

Svelte -Cli 快速搭建项目

一、搭建本地开发环境

  • Svelte 要求Node.js版本>=12.2.0。然而,一些模板需要更高的Node.js版本才能工作,如果你的包管理器发出警告,请升级。您可以使用n、nvm或nvm-windows 在同一台机器上管理多个版本的Node。 要了解如何安装 Node.js,参阅nodejs.org。 如果你不确定系统中正在运行的 Node.js 版本是什么,请在终端窗口中运行node -v。
  • npm 包管理器 因为我们通常都会使用Svelte 提供的脚手架搭建项目结构,所以要下载并安装 npm 包并且npm >= 6。,你需要一个 npm 包管理器。本指南使用 npm 客户端命令行界面,该界面默认安装在 Node.js。要检查你是否安装了 npm 客户端,请在终端窗口中运行 npm -v 。
  • 你可以使用 Svelte -Cli 生成器 来创建项目,生成应用和库代码,以及执行各种持续开发任务,比如测试、打包和部署。

二、创建新的初始应用

degit是一个从 git repos 中存储的模板创建项目的工具。全局安装

npm install -g degit

然后您可以使用它来启动一个新项目:

degit sveltejs/template my-new-project

Svelte 还提供了命令行界面,但不建议将其用于生产环境。CLI 会将您的组件编译为独立的 JavaScript 文件,但不会在它们更改时自动重新编译它们,也不会删除组件之间共享的重复代码。请改用上述方法之一。

如果您已svelte全局安装,则可以使用svelte --help完整的选项列表。一些更常见的操作示例如下:

# Generate a JavaScript module from MyComponent.html
svelte compile MyComponent.html > MyComponent.js
svelte compile -i MyComponent.html -o MyComponent.js

# Generate a UMD module from MyComponent.html, inferring its name from the filename ('MyComponent')
svelte compile -f umd MyComponent.html > MyComponent.js

# Generate a UMD module, specifying the name
svelte compile -f umd -n CustomName MyComponent.html > MyComponent.js

# Compile all .html files in a directory
svelte compile -i src/components -o build/components

您也可以使用npx来使用 CLI,而无需全局安装 Svelte — 只需在命令前加上npx:npx svelte compile ...

三、启动应用服务器

进入工作区目录,并启动这个应用。

cd my-new-project
npm install
npm run dev

npm run dev 命令会构建本应用、启动开发服务器、监听源文件,并且当那些文件发生变化时重新构建本应用,
也会打开浏览器,并访问 http://localhost:8080/ 。

你会发现本应用正运行在浏览器中。

参考文献:https://v2.svelte.dev/

云开发平台一键部署Svelte

作为Svelte 开发者的你,云开发平台为你提供了一站式,全云端的开发平台,让你可以打开浏览器就完成开发,调试,上线,同时云开发平台底层调用的是阿里云集团Serverless产品,可以实现低门槛开发,部署,调试,降低开发上手成本,让Svelte 应用可以一键快速部署!

一、创建环境

想要一键部署Svelte ,需要以下账号和服务:

file

二、创建Svelte 应用

file

  • 云资源访问授权。如果您之前没有使用过云开发平台,会出现云资源授权管理的选项,往下拉出现直至同意授权的字样,点击「同意授权」后出现授权成功,点击进入「下一步」。

file

  • 绑定Github账号。授权完成后选择来源仓库为Github,按照提示点击去绑定,绑定GitHub帐号,登录后并点击Authorize Aliyunworkben允许云开发平台构建、发布你的GitHub代码为可访问的网站。

file

  • 选择fork好的“Svelte ”代码仓库。选择第一步中的代码仓库,主干分支,并点击下一步。主干分支一般指的是代码的master或main等分支。

file

填写基本信息,完成创建。填写基本信息并点击「完成」。成功后进入到应用详情和部署界面。

file

三、在日常环境部署

  • 一键进行应用部署。在应用详情页面点击日常环境的「部署」按钮进行一键部署,部署状态变成绿色已部署以后可以点击访问部署网站查看效果。

file

  • 访问Svelte 网站。日常环境的测试域名也是可以访问的,点击访问已部署网站按钮会出现一个弹出,点击弹出上的立即访问就能够访问已经部署好的站点了。在部署完成后,可以继续本地编码,并将代码push到应用的“基本信息”中对应的代码仓库内。

    file

阿里云开发平台多端应用

框架不管是日常工作、学习都会涉及到的领域,既如此挑选一款适合自己的应用不止操作起来更顺畅同时也使身心愉悦,带来一天的好心情。

  • 那诸多的应用怎么去挑选合适自己的呢?
  • 每一个都去下载、去看相关操作文档去实验?
  • 又或者听取同学、同事的建议用着其中一款?
  • 可是每个人的使用场景、需求、特征都一样吗?
  • ······

带着以上诸多疑惑进入云开发平台,有多种框架映入眼帘例如:Vue.js、React、Nuxt.js、Next.js、AntDesign等,其中还能看到一些内容管理平台例如:Hexo、Docusaurus、VuePress、Sapper等。在此条件下我们先挑一个较为感兴趣的应用点开去尝试部署,会发现在原来线上部署应用真的像在手机上下载APP一样简单、快速。一个如此、其他便皆是大同小异了,多尝试一些应用发现每个的相同与不同,自然而然挑选最适合自己需求的应用去在日常所用即可。

忙不完的活,做不完的工作,工作效益最高化是个人都在追求的,那劳逸结合必是肯定的。云开发平台也有一些小游戏去帮助大家缓解小心情,类似头像生成器、2048等。玩着自己部署出来的应用成就感可就加倍呢,如果不喜欢游戏的整体布局、颜色等,那也可以根据从云开发平台部署的经验在去原有代码基础上去修改、部署等。这样专属自己的一款游戏就出来了呢!

file

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
相关文章
|
9月前
|
人工智能 安全 API
近期 AI 领域的新发布所带来的启示
2024 年以来,AI 基础设施的快速发展过程中,PaaS 层的 AI 网关是变化最明显的基建之一。从传统网关的静态规则和简单路由开始,网关的作用被不断拉伸。用户通过使用网关来实现多模型的流量调度、智能路由、Agent 和 MCP 服务管理、AI 治理等,试图让系统更灵活、更可控、更可用。国庆期间 AI 界发布/升级了一些产品,我们在此做一个简报,从中窥探下对 AI 网关演进新方向的启示。
573 73
|
应用服务中间件
IDEA出现问题:idea启动tomcat 很慢解决方案
IDEA出现问题:idea启动tomcat 很慢解决方案
2112 0
IDEA出现问题:idea启动tomcat 很慢解决方案
|
大数据 Linux
CentOS自动同步互联网服务器时间
CentOS自动同步互联网服务器时间
4906 0
CentOS自动同步互联网服务器时间
|
编解码 安全 Android开发
如何修复 Android 和 Windows 不支持视频编解码器的问题?
视频播放时遇到“编解码器不支持”错误(如0xc00d36c4或0xc00d5212)是常见问题,即使文件格式为MP4或MKV。编解码器是编码和解码数据的工具,不同设备和版本支持不同的编解码器。解决方法包括:1) 安装所需编解码器,如K-Lite Codec Pack;2) 使用自带编解码器的第三方播放器,如VLC、KMPlayer等。这些方法能帮助你顺利播放视频。
|
JSON 安全 Serverless
MCP Server 之旅第 2 站: 从 0 到 1 - MCP Server 市场构建与存量 OpenAPI 转 MCP Server
本文聚焦MCP协议在企业应用中的两大核心痛点:如何将社区主流STDIO MCP Server一键转为可插拔Remote MCP Server,以及如何实现存量OpenAPI向MCP Server的智能化转型。文章通过具体示例,展示了基于函数计算和协议转译Adapter的解决方案,支持npm/pip生态,实现零改造一键迁移,大幅降低成本。
|
Java 应用服务中间件 数据库连接
ssm项目整合,简单的用户管理系统
文章介绍了一个使用SSM框架(Spring、SpringMVC、MyBatis)构建的简单用户管理系统的整合过程,包括项目搭建、数据库配置、各层代码实现以及视图展示。
ssm项目整合,简单的用户管理系统
|
机器学习/深度学习 算法 数据挖掘
基于LSTM神经网络的电力负荷预测(Python代码实现)
基于LSTM神经网络的电力负荷预测(Python代码实现)
1445 0
|
云安全 安全 架构师
云计算对就业的影响?
【6月更文挑战第22天】云计算对就业的影响?
533 6
|
JavaScript Java 关系型数据库
springboot+vue小区物业管理系统(源码+文档)
一款基于SpringBoot的小区物业管理系统,适用于Java开发者。系统采用Java、SpringBoot、Mybatis框架,支持JDK1.8和MySQL 5.7+,前端使用Node.js和Vue。该系统包含管理员、用户和员工三个权限模块,分别有不同的功能,如用户信息管理、费用信息管理、楼房信息、报修管理和投诉处理等。项目源码及部署详情可联系风歌获取。此外,风歌提供java相关项目源码、学习资料和技术咨询服务。
uniCloud 的 schema2code 【实用教程】
uniCloud 的 schema2code 【实用教程】
455 0