1. 后端开发

    基于原生 Node 备份软路由上的 Minecraft 服务器存档,并通过 Alist 上传到云端

    笔者最近在 OpenWRT 软路由上部署了一个 Minecraft 服务器,出于对数据安全的焦虑,于是折腾了一下存档备份的相关事宜,记录为此文。 在 CurseForge 等模组站上已有方便好用的 Minecraft 服务器存档备份插件,除非您喜欢折腾或高自由度的定制,不用像笔者这样编写一整个脚本。 完整的脚本可见此。 编写备份脚本 前置准备 为了脚本编写方便,约定应该在 Minecraft…

    05 月 11 日 2024 年
    Linux OpenWRT Minecraft Node JavaScript Alist
  2. 技术琐事

    漫谈 JavaScript 类(Class)的使用

    类(Class)是用于创建对象的模板,他们用代码封装数据以处理该数据,是面向对象编程方法的重要特性之一。JavaScript 中的 语法在 ES6 中引入,其底层实现基于原型(Prototype),系原型继承的语法糖(Syntactic Sugar)。 本博文将探讨 JavaScript 中如何使用类的相关知识,文章组织架构和内容基于 MDN 上关于类的章节。 定义类 类可以被看作一种…

    05 月 20 日 2021 年
    JavaScript ES6
  3. 技术琐事

    漫谈 JavaScript 闭包

    JavaScript 中有一个叫作闭包(Closure)的概念,非常有趣且适用,值得学习并整理为一篇博客。 为了更好理解闭包的作用,不妨看看我的关于 JS 变量提升(Hoisting)和函数提升现象的阐述。 作用域 在 JavaScript 中,作用域(Scope)是当前代码执行的上下文,也即是值和表达式在其中可访问到的上下文。 如果一个变量或其它表达式不在当前作用域中,就会沿作用域链…

    05 月 18 日 2021 年
    JavaScript
  4. 技术琐事

    漫谈 JavaScript 变量提升和函数提升

    在 ES6 规范出现之前,使用 JavaScript 声明变量只有 , 以及隐式声明三种方式。 按照一般编程的思维,我们会通过“先声明,后调用”的方式去使用变量,例如: 但假如反过来,我们“先调用,后声明”,会发生什么呢? 如上所示,在声明变量 之前尝试将它的值打印出来,控制台输出的结果是 ,而不是预期中的报错 。这就是变量提升。 而对于函数的声明与使用,也出现了相似的情况: 在声明函数…

    05 月 11 日 2021 年
    JavaScript
  5. 前端开发

    函数防抖和节流,以及在 Vue 中的运用

    在前端性能优化中存在一个老生常谈的问题:如何优化高频率执行的 JS 代码?例如: 我们为浏览器滚动 scroll 绑定了监听事件,当滚动到某位置之下后,会在浏览器右下方显示一个点击后能快速回到页面顶部的浮动按钮;而滚动回该位置之上时,浮动按钮消失。现在我们发现,用户每次使用滚轮滑动页面,都会触发很多次该事件,判断当前在该位置之上还是之下,这在一定程度上降低了前端的性能。 我们为网页添加了搜索功能…

    05 月 08 日 2021 年
    JavaScript Vue-2 Nuxt
  6. 前端开发

    在 Nuxt.js 中引入高德地图并实现定位及逆地理编码

    迷途知反!腾讯地图的 JS API 文档实在过于简陋,且库很久没有更新,转身投入高德地图的怀抱,享受 this moment 的美好! 高德地图与腾讯地图定位功能区别 高德地图将定位功能和逆地理编码功能分开为两个操作,而腾讯地图将二者合并。 这意味着使用高德地图实现逆地理编码,首先需要执行定位操作,再将得到的结果传给逆地理编码插件获得最后的结果。 此外…

    03 月 17 日 2021 年
    JavaScript Node Vue-2 Nuxt Promise
  7. 前端开发

    使用腾讯位置服务进行 Web 前端定位

    正在开发的 Web 项目需要获取使用者的位置信息,而使用者主要通过移动端访问此 Web 服务。位置信息需要精确到区。在腾讯位置服务的定位解决方案里想要搜索可用的 JavaScript 库,只看到了服务端的 IP 定位和移动端的几个 SDK 包,甚异之。 终于在不起眼的地方找到了前端定位组件,适用于浏览器进行定位操作。 本文基于 Nuxt.js 实现前端定位功能。 它能做什么 组件旨在优化纯 HTM…

    03 月 16 日 2021 年
    JavaScript Node Vue-2 Nuxt
  8. 前端开发

    Webpack 读取本地 Markdown 文件并进行预处理

    在开发 NetUnion 的官网页面时,有这样一个需求:读取本地目录下的新闻和博客文件,并在前端渲染,其中文件均为 Markdown 格式。 与全栈开发直接调用后端数据库不同的是,没有数据表字段来记录文件的不同属性,例如文件的题目、作者、撰写日期等,因此这些属性需要记录在 .md 文件当中。 这样的撰写方式是不是很熟悉?没错,不就是我正在写的 Hexo 博客中 .md 文件的编写格式嘛! 自动导入…

    02 月 23 日 2021 年
    Markdown JavaScript Node Webpack