2024年前端最新Svelte 前端框架,开发读书笔记(1),2024年最新前端面向对象

最后

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!

可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

style 标签中编写 CSS 代码,让卡片变得美美哒:

2.2 开发操作面板组件

操作面板包含两个输入框和两个按钮,用于添加卡片和导出笔记。

打开 AddCard.svelte 文件,和开发卡片一样,先编写 JavaScript,定义几个属性变量,以及 “添加” 和 “导出” 函数:

然后编写操作面板的内容,Svelte 通过 bind:value 指令实现表单数据的双向绑定:

添加

导出

最后编写 CSS 代码,让操作面板变得美美哒~ 此处使用 Flex 布局:

2.3 将组件放入主页面

开发完卡片和操作面板组件后,只需要将这些组件丢到 Svelte 模板项目默认生成的主页面 App.svelte 中,在 script 标签中通过 import 关键字引入组件:

在 div 标签中,通过 {# each ... } {/each} 循环语句实现卡片列表,直接通过组件名引入组件:

{#each $cards as card, i}

<Card {…card} index={i}/>

{/each}

细心的小伙伴可能会好奇,上述代码第 2 行的 $cards 变量是从哪儿来的呢?不着急,稍后揭晓~

大功告成!读书笔记的界面开发好了,但这时,所有的按钮都没有任何作用,下面我们来给读书笔记添加功能。

3. 实现功能

不知道大家有没有发现,我们要做的读书笔记,其实就是个简单的增删改查项目!

既然是增删改查,那肯定要有地方存储数据,记录数据的变化。通常数据是存在数据库中的,通过向后端发出请求来操作和查询数据库中的数据。

但这里我们只是一个前端项目,没有数据库,怎么办呢?可以直接使用 Svelte 自带的状态管理 API 来实现本地数据管理,无需引入任何新的依赖!

3.1 管理卡片数据

在项目 src 目录下新建 store.js,作为数据管理文件,此时目录结构如下:

store.js 文件中通过 writable 函数定义 cards 可写变量:

import {writable} from “svelte/store”;

export const cards = writable([]);

定义好之后,cards 已经被 Svelte 框架管理了,可以直接把 cards 当做一个全局变量来使用。

在主页面中引入 cards,并通过循环语句展示已添加的卡片列表。注意,想要使用状态变量,要在变量名前添加 $ 符号。此时的主页面文件  App.svelte 内容如下:

{#each $cards as card, i}

<Card {…card} index={i}/>

{/each}

完成了 cards 的展示后,我们依次实现 cards 的添加和删除吧~

3.2 添加卡片

点击操作面板的添加按钮,可以添加卡片。须实现 AddCard.svelte 文件的添加函数:

上述文件第 15 行起,通过调用 cards 状态变量的 update 函数,在原数组后追加一个元素,实现新增卡片。

3.3 删除卡片

点击卡片上的删除按钮,可以删除当前卡片。须实现 Card.svelte 文件的删除函数:

删除卡片和添加卡片操作类似,都是调用 cards 状态变量的 update 函数,对原数组进行处理,并使用处理后的数组进行更新。

3.4 导出笔记

点击操作面板上的导出按钮,将已添加的卡片导出为 Markdown 格式的笔记文件,实现比较简单。

首先安装 file-saver 库,依赖这个库实现下载功能:

npm i file-saver

实现 AddCard.svelte 文件中的导出函数,将 cards 状态数组保存为文件:

大功告成!一个精美的读书笔记就开发完成啦!

3.5 改进

到目前为止,我们只实现了读书笔记最基本的功能,但这个笔记还存在很多问题:

  1. 其实目前我们还没有给卡片添加不同的颜色,大家可以在项目中的 public/global.css 文件添加颜色样式。

  2. 关掉网页后,已经添加的卡片会消失,可以通过浏览器的 Cookie 实现持久化存储,卡片更新时,保存到 Cookie 中,再次打开网站时,从 Cookie 恢复卡片数据,并保存为状态。

感兴趣的读者可以试着实现上述改进功能,还可以发挥自己的想象,给读书笔记添加新功能哦~

4. 发布上线

本地开发完成后,怎么将网站发布,让所有人都能看到呢?

首先通过命令打包项目:

npm run build

会在 public 目录下生成 bundle.js 文件:

此时的 public 目录结构如下:

怎么发布网站到线上呢?先买台服务器?

大可不必,可以使用 Vercel

Vercel 是免费网站托管平台,可以帮我们部署网站,并生成可访问的网址。先通过 npm 安装 Vercel:

npm install -g vercel

安装完成后,进入 public 目录,通过 vercel 命令发布网站:

cd public

vercel deploy --name read-note

发布成功,会得到一个网址,打开就能看到精美的读书笔记网站啦!

在网站中启用开发者工具(按 F12),能够看到网页文件的加载信息,发现整个读书笔记网站大小才 16 KB

简直不讲武德啊!

亿点看法

翻阅了一些论坛,发现大家对于 Svelte 框架的看法褒贬不一。

最后

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!

可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值