Emlog博客如何搭建教程/宝塔面板一键部署emlog

Emlog博客如何搭建教程/宝塔面板一键部署emlog

介绍宝塔面板是一款知名的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。安装宝塔正式使用前,需要自行准备好服务器,然后访问 宝塔面板 根据操作系统选择宝塔版本,Linux系统使用root用户进入服务器终端,复制黏贴宝塔的安装脚本并运行,按照提示完成安装即可。宝塔Linux通用安装脚本:if ;then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec安装完毕后可以通过终端提示的访问地址、账号密码,进行宝塔面板访问。开始部署emlog1、软件商店搜索emlog软件商店 -> 一键部署 -> 搜索 emlog2. 填写部署信息域名:输入已经解析到服务器的域名,比如这里用测试域名 test.emlog.net备注:可随意填写根目录:保持默认即可数据库名称和密码:保持系统随机默认,或者填写自己想要的设置的。PHP版本:最低5.6 推荐 7.43、部署成功看到下图界面已经完成部署,点击访问站点去设置管理员信息。4. 设置管理员账号密码按照提示填写站点后台管理员的账号和密码,点击下一步,安装完成。

2026-01-08 325 阅读 0 评论
Emlog忘记密码怎么办?Emlog后台密码忘记?

Emlog忘记密码怎么办?Emlog后台密码忘记?

忘记密码怎么办?不用担心如果配置了邮件通知功能,可以直接在后台登录页面使用找回密码功能来重置密码。也可以使用emlog密码重置工具来重置密码,按照如下步骤操作:下载重置密码工具,并将下载的zip包解压。将解压后的 pw.php 文件上传到emlog站点的根目录。在浏览器里访问:你网站的域名/pw.php 按照提示操作重置密码。重置后务必删除该文件。

2026-01-08 345 阅读 3 评论
如何让emlog搭建的站点更安全?

如何让emlog搭建的站点更安全?

1. 升级 emlog 到pro系列最新版本2. 切换 PHP到 7.4 或更高版本3. 禁用 PHP 函数:eval、assert ,宝塔面板 php 管理左侧菜单有禁用函数功能4. 禁用后台手动上传安装应用,参见文档: https://www.emlog.net/docs/install/config  5. 避免使用弱密码,比如纯数字或者纯字母,建议使用字母、数字、特殊字符组合,不低于 8 位 6. 不在服务器上使用盗版、破解软件源码7. 至少每周将文件和数据库数据导出异地备份(不要只备份在服务器)

2026-01-07 326 阅读 0 评论
Node.js项目依赖目录高效清理方案

Node.js项目依赖目录高效清理方案

问题背景 在Node.js开发过程中,node_modules目录通常包含数千个依赖包文件,导致目录结构庞大复杂。传统删除方式在Windows和macOS系统上都存在效率低下的问题。 性能瓶颈分析 1. 文件系统限制 NTFS/HFS+限制:主流文件系统未针对大规模删除优化 索引更新开销:删除操作需要更新大量文件索引记录 缓存机制瓶颈:系统缓存成为大规模删除的性能限制因素 2. 操作系统差异 Windows平台:资源管理器逐文件标记删除状态 macOS系统:HFS+文件系统深度目录处理效率低 类Unix系统:rm -rf命令仍存在进程阻塞问题 解决方案:rimraf工具 工具简介 rimraf是Node.js生态中的专业目录删除工具,通过优化递归删除算法显著提升大规模文件删除效率。 核心优化机制 减少系统调用:批量处理文件删除操作 避免进程挂起:异步非阻塞删除流程 跨平台优化:针对不同文件系统特别优化 资源管理:智能内存和CPU使用控制 安装与使用 1. 安装方法 npm安装方式: npm install rimraf --save-dev yarn安装方式: yarn add rimraf --dev 全局安装(可选): npm install -g rimraf 2. 基本使用 直接使用npx: npx rimraf node_modules 全局安装后使用: rimraf node_modules 指定路径删除: rimraf ./project/node_modules 3. 项目集成 package.json配置: "scripts": { "clean": "rimraf node_modules", "clean:build": "rimraf build"} 执行清理命令: npm run clean# 或yarn clean 进阶应用场景 1. 多目录清理 构建输出目录: rimraf dist build 缓存目录清理: rimraf .cache .temp 2. 模式匹配 通配符删除: rimraf packages/*/node_modules 模式匹配删除: rimraf **/node_modules 3. CI/CD集成 自动化脚本:在部署前清理依赖 缓存策略:结合缓存机制优化构建流程 并行处理:多项目同时清理优化 性能对比数据 删除方式 10,000文件 50,000文件 100,000+文件 文件管理器 2-3分钟 10-15分钟 30分钟+ rm -rf 30-40秒 2-3分钟 5-8分钟 rimraf 10-15秒 40-60秒 1-2分钟 工具优势总结 跨平台支持:完整支持Windows/macOS/Linux 性能卓越:比系统命令快3-5倍 无缝集成:与npm/yarn工作流完美结合 简单易用:命令行接口简洁直观 稳定可靠:Node.js社区广泛验证 使用建议 项目级安装:推荐作为devDependencies安装 脚本化操作:通过package.json scripts统一管理 安全注意:谨慎使用通配符避免误删 版本选择:使用最新版本获得最佳性能

2025-12-18 372 阅读 0 评论
window.onload用法详解

window.onload用法详解

网页中的javaScript脚本代码往往需要在文档加载完成后才能够去执行,否则可能导致无法获取对象的情况,为了避免这种情况的发生,可以使用以下两种方式: 一.将脚本代码放在网页的底端,这样在运行脚本代码的时候,可以确保要操作的对象已经加载完成。 二.通过window.onload来执行脚本代码。第一种方式感觉比较凌乱(其实推荐使用),往往我们需要将脚本代码放在一个更为合适的地方,那么window.onload方式就是一个良好的选择。window.onload是一个事件,当文档加载完成之后就会触发该事件,可以为此事件注册事件处理函数,并将要执行的脚本代码放在事件处理函数中,于是就可以避免获取不到对象的情况。先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>window.onload用法</title> <style type="text/css"> #bg{ width:100px; height:100px; border:2px solid red; } </style> <script type="text/javascript"> document.getElementById("bg").style.backgroundColor="#F90"; </script> </head> <body> <div id="bg"></div> </body> </html> 以上代码的初衷是向将div的背景颜色设置为#F90,但是并没有实现此效果,这是因为代码是顺序执行的,当执行到document.getElementById(“#bg”).style.backgroundColor=”#F90”这一句的时候,还没有加载到此div对象,所以设置也就不能够成功。代码修改如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>位置高度div垂直居中</title> <style type="text/css"> #bg{ width:100px; height:100px; border:2px solid red; } </style> <script type="text/javascript"> window.onload=function(){ document.getElementById("bg").style.backgroundColor="#F90"; } </script> </head> <body> <div id="bg"></div> </body> </html> 以上代码实现了将div背景颜色设置为#F90的目的。原因就是讲设置背景颜色的代码放置在window.onload的事件处理函数中,只有当文档加载完成后,才会执行事件处理函数,也才会执行设置背景颜色的脚本代码。事件处理函数绑定:方式一:window.οnlοad=function(){},在以上代码中就是使用此种方式为window.onload事件绑定事件处理函数,这里绑定的是一个匿名函数,当然也可以绑定非匿名函数,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>window.onload用法详解</title> <script type="text/javascript"> window.onload=function myalert() { alert("绑定成功!"); } </script> </head> <body> </body> </html> 以上代码可以将为名myalert方法绑定到window.onload事件上,但是不能以以下方式为此事件绑定多个事件处理函数: window.onload=function a(){} window.onload=function b(){} 以上代码并不能为window.onload事件绑定多个事件处理函数,而是最后一个会覆盖前面的所有函数。不过代码可以变通一下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>window.onload用法</title> <style type="text/css"> #bg{ width:100px; height:100px; border:2px solid red; } </style> <script type="text/javascript"> window.onload=function(){ function a(){ document.getElementById("bg").style.backgroundColor="#F90"; } function b(){ document.getElementById("bg").style.width="200px"; } a(); b(); } </script> </head> <body> <div id="bg"></div> </body> </html> 以上代码实现了绑定多个事件处理函数同样的效果。方式二:可以使用addEventListener()和attachEvent()为onload事件绑定事件处理函数,下面分别介绍一下:addEventListener()是当前标准的一种事件处理函数绑定方式,但是IE8和IE8以下的浏览器并不支持此方式,实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>window.onload用法</title> <style type="text/css"> #bg{ width:100px; height:100px; border:2px solid red; } </style> <script type="text/javascript"> window.addEventListener("load",bg,false); window.addEventListener("load",changeW,false); function bg(){ document.getElementById("bg").style.backgroundColor="#F90"; } function changeW(){ document.getElementById("bg").style.width="200px"; } </script> </head> <body> <div id="bg"></div> </body> </html> 以上代码可以为window.onload事件绑定多个事件处理函数。简单介绍一下语法格式: addEventListener("type",函数名,false) addEventListener()函数具有三个参数,第一个参数事件类型,需要注意的是,事件类型名称前面不能有on,例如window.onload事件,在这个地方只能写作load,第二个参数是要绑定的函数名称,第三个参数一般为false。使用attachEvent()函数绑定事件处理函数:IE9之前的的IE浏览器不支持addEventListener()函数,所以attachEvent()函数就有了用武之地了,代码实例如下:转载请附上原文出处链接及本声明。 <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>window.onload用法</title> <style type="text/css"> #bg{ width:100px; height:100px; border:2px solid red; } </style> <script type="text/javascript"> window.attachEvent("onload",bg); window.attachEvent("onload",changeW); function bg(){ document.getElementById("bg").style.backgroundColor="#F90"; } function changeW(){ document.getElementById("bg").style.width="200px"; } </script> </head> <body> <div id="bg"></div> </body> </html> 以上代码的效果和使用addEventListener()函数的效果是一样的,简单介绍一下语法格式: addEventListener("type",函数名) 此函数只有两个参数,第一个参数是事件类型,不过它和addEventListener()的第一个参数的作用是一样,但是名称有所区别,名称前面是具有”on”,第二个参数就是要绑定的事件处理函数名称。为了兼容各浏览器,需要将以上代码进行改造,实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <title>window.onload用法</title> <style type="text/css"> #bg{`这里写代码片` width:100px; height:100px; border:2px solid red; } </style> <script type="text/javascript"> if(window.addEventListener){ window.addEventListener("load",bg,false); window.addEventListener("load",changeW,false); } else{ window.attachEvent("onload",bg); window.attachEvent("onload",changeW); } function bg(){ document.getElementById("bg").style.backgroundColor="#F90"; } function changeW(){ document.getElementById("bg").style.width="200px"; } </script> </head> <body> <div id="bg"></div> </body> </html> 以上代码代码解决了各大浏览器的兼容性问题。在上面代码中使用以下代码进行判断: if(object.addEventListener){ object.addEventListener(); } else{ object.attachEvent(); }   通过if语句判断对象是否具有addEventListener属性,如果有这使用addEventListener()函数,否则使用attachEvent()函数。      

2025-12-17 340 阅读 0 评论
Linux命令:文件传输命令scp详解

Linux命令:文件传输命令scp详解

一、命令简介 `scp`(Secure Copy)是 Linux 系统中一个基于 SSH(Secure Shell)协议的文件传输命令。它允许用户在不安全的网络环境中安全地传输文件。由于使用了 SSH 协议,`scp` 命令在传输过程中会加密数据,确保数据的安全性和完整性。 二、基本语法 1、命令格式 scp 源主机:]文件路径 目标主机:]文件路径 scp命令的用法如下图示:   2、选项列表(Options) -3: 通过 SSH 连接到第三个主机,然后复制文件。这通常用于通过跳板机进行文件传输。 -4: 强制使用 IPv4 地址。 -6: 强制使用 IPv6 地址。 -B: 使用批处理模式(此选项已过时,不推荐使用)。 -C: 允许压缩数据,在传输过程中进行压缩以提高效率。 -p: 保留文件的修改时间、访问时间和权限。 -q: 静默模式,不显示传输过程中的信息。 -r: 递归复制整个目录及其内容。 -T: 禁用伪终端分配(这通常用于脚本或命令行)。 -v: 详细模式,显示传输过程中的详细信息。 (注意:scp 的帮助信息中没有直接列出 -v,但它是常用的,并且经常与 scp 一起使用) -c cipher: 指定加密算法。 -F ssh_config: 指定 SSH 配置文件的位置。 -i identity_file: 使用指定的私钥文件进行身份验证。 -J destination: 跳板机选项,用于通过指定的主机连接到目标主机。 -l limit: 限制传输带宽。 -o ssh_option: 传递单个 SSH 选项。 -P port: 指定 SSH 服务的端口号(默认是 22)。 -S program: 用于连接的主机密钥验证的程序。 source ...: 这是你想要复制的文件或目录的列表。可以使用通配符(如 *)来匹配多个文件。 target: 这是你希望将文件或目录复制到的位置。这可以是一个本地路径(如果目标主机是本地),也可以是一个远程主机的路径(格式为 host:path)。 三、应用场景 scp是一种灵活、安全的文件传输工具,应用场景主要涉及在本地主机和远程主机之间安全地传输文件。以下是一些具体的应用场景: 1、远程备份 如果你需要将重要文件或目录备份到远程服务器上,`scp` 是一个很好的选择。它可以通过 SSH 加密连接,确保文件在传输过程中的安全性。 2、文件传输 当你需要在不同计算机之间传输文件时,`scp` 可以方便地实现这一点。无论是从本地计算机传输到远程服务器,还是从远程服务器下载到本地计算机,`scp` 都能提供安全、高效的解决方案。 3、部署应用程序 在开发过程中,你可能需要将应用程序的代码、配置文件或其他相关文件从开发环境传输到生产环境。`scp` 可以帮助你安全地将这些文件传输到远程服务器上,确保应用程序的正确部署。 4、数据迁移 在服务器迁移或数据中心迁移等场景中,你可能需要将大量数据从旧服务器传输到新服务器。`scp` 可以提供可靠的数据传输服务,确保数据在迁移过程中的完整性和安全性。 5、系统管理任务 对于系统管理员来说,`scp` 是一个常用的工具。他们可以使用 `scp` 在不同的服务器之间传输配置文件、日志文件、备份文件等,以完成各种管理任务。 四、示例 1. 从本地复制到远程主机 命令格式如下: scp /path/to/local/file.txt user@remote_host:/path/on/remote/ 这会将本地的 `file.txt` 文件复制到远程主机 `remote_host` 的 `/path/on/remote/` 目录下。 2. 从远程主机复制到本地 (1)命令解释 命令格式如下: scp user@remote_host:/path/on/remote/file.txt /path/to/local/ 这会将远程主机 `remote_host` 的 `/path/on/remote/file.txt` 文件复制到本地的 `/path/to/local/` 目录下。 (2)实际操作 实操命令如下: scp root@192.168.1.109:/home/DataBaseMysql.zip ./ 这会将远程主机 `r192.168.1.109` 的/home/DataBaseMysql.zip 文件复制到本地的当前目录下,实际操作效果如下图:   3. 递归复制目录 实操命令如下: scp -r user@remote_host:/path/on/remote/directory /path/to/local/ 这会将远程主机 `remote_host` 的 `/path/on/remote/directory` 目录及其所有内容复制到本地的 `/path/to/local/` 目录下。 4. 指定 SSH 端口 如果远程主机的 SSH 端口不是默认的 22,可以使用 `-P` 选项指定端口: scp -P 2222 user@remote_host:/path/on/remote/file.txt /path/to/local/ 五、注意事项 (1)使用 `scp` 命令时,需要确保本地和远程主机之间的 SSH 密钥认证已经设置好,或者每次传输时都需要输入密码。 (2)`scp` 命令依赖于 SSH,因此如果远程主机没有安装 SSH 服务器,或者本地没有安装 SSH 客户端,`scp` 命令将无法使用。 (3)在进行文件传输时,最好使用安全的网络连接,避免在公共或不安全的网络中使用 `scp` 命令传输敏感数据。

2025-12-17 401 阅读 0 评论
ED2K的资源链接如何进行下载?

ED2K的资源链接如何进行下载?

ed2k是分布式的,下载它需要有一个链接,相信来看的一般都是已经找到链接的吧。 例如:ed2k://|file|xxxxxxx|xxxxxx|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|/ 这种形式的。 复制你需要的一条链接,然后打开任意一个下载软件,前提需支持ed2k下载,例如迅雷(其他软件也同理)。 打开下载软件,新建任务,复制进刚才的链接。就会显示其下载文件,之后单击立即下载就可以了。 注:当你已经打开了迅雷,复制链接时,迅雷会自动弹出下载框的(其他软件应该也可以这样的)。

2025-12-17 361 阅读 0 评论
Isle-Editor (岛屿编辑器) - 免费开源 Web 富文本编辑器,也支持 Notion 块编辑、MarkDown 语法,官方支持 Vue3 开箱即用

Isle-Editor (岛屿编辑器) - 免费开源 Web 富文本编辑器,也支持 Notion 块编辑、MarkDown 语法,官方支持 Vue3 开箱即用

Isle-Editor 简介 Isle-Editor 中文名称是岛屿编辑器,是一款开源 Web 编辑器,支持富文本、块编辑和 MarkDown,最大的特色是除了支持传统的富文本风格外,还支持目前非常流行的 Notion Style 块编辑模式,既能够输出 HTML 作为普通富文本使用,也能够输出 JSON 作为块编辑器。 访问官网   https://editor.islenote.com/zh/   技术特性 Isle-Editor 虽然比较新,但站在了 ProseMirror 和 Tiptap 这两个巨人的肩膀上,技术架构很扎实: 特性 亮点 多模式编辑 支持块编辑、富文本、Markdown、Notion Style 等多种模式 开箱即用 无需复杂配置,几行代码即可快速接入项目 框架无关 优先支持 Vue 视图,更多框架视图正在排期中 高度可扩展 内置丰富的可插拔扩展,支持自定义扩展 主题定制 支持自定义主题样式,内置 light、dark 两种主题 岛屿编辑器特性和亮点一览表 最让我惊喜的是它的块编辑体验,在 Notion Style 下拖拽重组内容块,技术文档排版效率直逼 Notion。 为什么选择 Isle-Editor 之前也考虑过直接用 Tiptap,但 Tiptap 是无头的,不提供 UI 视图,需要自己处理各种扩展的实现和视图层,开发成本很高,最近浏览器 Tiptap 发现,貌似官方也提供了 UI 视图版本,不过是需要付费的。 Isle-Editor 的目标很明确:为开发者提供一套完全开箱即用的富文本编辑器,无需复杂配置就能快速集成。它复用了 Tiptap 的核心实现,同时提供了完整的 UI 视图和更多核心扩展,一番体验下来,就算是国内用户,使用起来也很得心应手,不像有些编辑器习惯于服务英文用起来别扭。 如果恰巧正在用 Tiptap 开发项目,还可以无缝使用 Isle-Editor 的核心扩展,它可以说是 Tiptap 的一个最佳实践。 开发上手体验 官网说只需几行代码,考虑到实际项目需求较复杂,下面是最简单直接的接入方案: 安装依赖 npm install isle-editor Vue 项目中使用 <script setup> import { IsleEditor } from 'isle-editor' import 'isle-editor/dist/style.css' const content = '请开始你的创作...' </script> <template> <IsleEditor v-model="content" /> </template> 这样就完成了基础集成,编辑器已经具备了常用的编辑功能。 适用场景 Isle-Editor 特别适合以下开发场景: 内容创作:博客、文档、笔记等内容创作 协同编辑:团队协作、实时编辑场景 富文本编辑:需要图片、视频、表格等富文本内容 自定义编辑器:需要根据业务需求定制专属编辑器,比如 admin 中后台管理系统 建议先访问官方在线演示快速体验功能,看看这款编辑器的 UI 界面、块编辑和 Notion Style 是否符合你的需求。如果正好需要这种现代化的编辑体验,Isle-Editor 是个很不错的选择。

2025-12-16 424 阅读 0 评论
Photor - 免费好用的截图美化在线工具,网页/软件等屏幕截图美化我一直在用它

Photor - 免费好用的截图美化在线工具,网页/软件等屏幕截图美化我一直在用它

Photor 介绍 Photor 是一个非常简单好用的屏幕截图美化工具,可以帮助我们点几下鼠标就得到美观好看的屏幕截图效果图,让普通的截屏瞬间升级为具有专业设计感的展示图片。适合用于制作教程文档、展示软件界面,或者是在其他内容中展示屏幕界面。 访问官网   https://www.photor.fun   功能特点 无需登录账户,也没有任何会员和广告,打开浏览器就能用; 实用且好看:一键背景颜色、增加 Mac 窗口、图片阴影、圆角等,让截图变得美观; 简单且强大:支持随意添加形状、线条、文字、emoji 等标注,让截图清晰明了; 多种尺寸导出:足够灵活自如,内置各大自媒体平台的多种尺寸一键导出; 绝对的安全:从截图、编辑到导出,完全运行在浏览器中,不会上传任何数据。 以前繁琐的截图操作 为了得到美观的屏幕截图,以前我是直接把电脑桌面清空,换上一个具有代表性系统内置的桌面背景,截取带浏览器界面的图片。这种方式不仅操作麻烦,整理桌面、调整浏览器窗口,每次截完图需要换回我喜欢的壁纸,而且文章发布到自媒体平台会时,会检测到截图中的浏览器地址栏带有网址,很容易被判定为广告… Photor 浏览器插件 既然我的大部分文章配图都是网页截图,于是我就找到 Photor 这款图像工具,因为 Photor 不仅是一款在线工具(上传或粘贴图片开始美化),还提供了浏览器插件,可以在想要截图的网页上一键截图,然后开始美化操作。   美化操作的功能都很简单,我的截图一般只需要调整边距、圆角,增加 mac 的顶部工具栏(使图片看起来是屏幕截图),就可以直接导出了。由于我的是 4K 屏幕,截图以及导出的图片非常高清,上传到网站还需要进一步压缩图片。 免费使用说明 Photor 是一款完全免费且没有任何广告的截图美化工具,无论是在线网页版还是 Chrome / Edge 浏览器插件版,都可以免费使用。

2025-12-16 343 阅读 0 评论
Inspira UI - 免费开源、充满活力的 3D 视觉炸裂级动画组件库,支持 Vue3 集成,兼容 Nuxt.js

Inspira UI - 免费开源、充满活力的 3D 视觉炸裂级动画组件库,支持 Vue3 集成,兼容 Nuxt.js

Inspira UI 介绍 Inspira UI 是一个 Vue.js 的生态项目,不过它不是一个传统的 UI 组件库,而是基于 TailwindCSS, motion-v, gsap 和 threejs 打造的可重复使用动画组件的集合,其核心目标是填补 Vue3 生态系统中动效开发工具的空白,可以帮助前端开发者轻松快速创建出惊艳的 3D 酷炫动画。 访问官网   https://inspira-ui.com/   技术架构 Inspira UI 的技术栈是现代前端技术的融合体,使用现代前端开发中最受欢迎的工具和框架,性能与开发体验都有所保证: 基于 Tailwind CSS V4 构建了样式系统,这也是 Inspira UI 的核心基础,确保了原子类叠加的灵活性,也支持浅色/深色模式的一键切换; 所有组件均提供完整的 TypeScript 类型定义,为开发者提供良好的类型安全支持; 动画实现使用了专业级的 GSAP 来处理复杂时间线动画,以及把 motion-v 用于 Vue 集成的声明式动画; 酷炫的 3D 效果更是引入了 Three.js 这个重量级工具库。 除此之外,性能优化是 Inspira UI 的一大亮点。基于 Vue 3.4+ 的 defineModel 与 watchEffect 语法重构,据说减少了 30% 的响应式依赖开销。还会针对不同设备能力,它会自动调节动效帧率,并对所有组件实施了“懒加载 + 预渲染”优化,官方数据显示首屏加载速度较旧版提升 35%。 120+ 动画组件库 Inspira UI 官网就应用了大量酷炫的动画效果,我们可以直观感受到鼠标移动效果以及绚烂背景等有高级感的动效。在过去,我们 Vue 开发者想要实现复杂的动画效果,需要做大量的开发和调试工作,并且在不同浏览器中处理兼容性问题。而 Inspira UI 提供了 120 多个可直接复用的动画组件,涵盖了从基础交互到高级视觉效果的广泛需求。 组件类别 数量 动画效果 背景特效 (Backgrounds) 20个 流体动画、粒子系统、动态渐变背景 文字动画 (Text Animations) 22个 3D文字、视频文字、打字机效果 特殊效果 (Special Effects) 10个 镜头效果、液体Logo、像素过渡 可视化效果 (Visualization) 13个 3D交互元素、数据可视化组件 卡片组件 (Cards) 6个 带悬停效果的卡片、3D翻转卡片 按钮组件 (Buttons) 5个 渐变按钮、悬浮效果按钮 设备模拟 (Device Mocks) 2个 iPhone界面模拟器 输入与表单 (Input And Forms) 3个 带动画的输入框和表单元素 光标效果 (Cursors) 2个 自定义鼠标悬浮效果 杂项组件 (Miscellaneous) 25个 各种特定场景的动画效果 主要组件分类及数量统计表 安装和集成指南 安装各个工具库的依赖 因为依赖多个前端技术库,Inspira UI 的安装稍微有点麻烦,不过官网有详细的安装教程,而且官方提供了中文,这里就不铺代码了。   免费开源说明 Inspira UI 是一个完全免费的开源项目,源码基于 MIT 开源许可证托管在 Github 上,开发者可以自由地使用、修改和分发这些组件,用在商业项目上也完全没问题。 需要注意,Inspira UI 本身是完全免费开源的,还有个官网还有一个 Inspira UI PRO 是付费的,不要搞混了。

2025-12-16 338 阅读 0 评论