1.1k 1 分钟

# 介绍

nvm 允许你通过命令行快速安装和使用不同版本的 node。

# 安装

# 快速安装

通过运行 curl 命令进行安装:

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

466 1 分钟

在 Nginx 中启用目录浏览功能,需要使用 autoindex 指令。这通常在 location 块中完成,以下是一个配置示例: server { listen 80; server_name example.com; location / { root /var/www/html; autoindex on; # 开启目录浏览 autoindex_exact_size off; # 显示文件大小 autoindex_localtime on; # 显示文件时间 }}在这个配置中,当访问...
636 1 分钟

1. 启动,重启,停止 cd /usr/local/nginx/sbin/./nginx #启动./nginx -s stop #停止./nginx -s quit #退出./nginx -s reload #重启 修改配置后重新加载生效./nginx -s reopen :重新打开日志文件2. 启动后查看进程 ps -ef|grep nginx #查询进程号 kill -QUIT 主进程号 #从容停止 kill -TERM 主进程号 #快速停止 kill -9 主进程号 #强制停止3. 其他 对于基于 Debian 的系统(如 Ubuntu): sudo apt updatesudo apt...
4.5k 4 分钟

之前有一次美团的面试,面试官问我:如果有两个元素,一个元素覆盖到另一个元素上,如何做到点击上面的元素触发下面的元素? 当时的我在工作生涯中其实并没遇到过这种问题,也没有想到为什么会有这种情况的出现,也只是凭着自己的工作经验想出一个可以通过父子元素冒泡的做法实现这个做法,面试官虽说这个方法确实可以实现这个需求,我向他询问应该如何实现这个功能的时候,才首次认识了我们在这篇文章中要了解的 pointer-events 属性。 # pointer-event 是什么?有什么作用? pointer-events 属性用于设置元素是否对鼠标事件做出反应。 默认值为...
2.5k 2 分钟

以前做移动端项目的时候都是用 rem 来做适配,现在基本上都是通过 viewport 单位来做。 postcss-px-to-viewport 就是一个将 px 单位转换为视口单位的 (vw, vh, vmin, vmax) 的 PostCSS 插件,它可以将你 CSS 中的 px 单位转化为 vw,1vw 等于 1/100 视口宽度。

7.4k 7 分钟

JavaScript 中有许多简写技巧可以缩减代码长度、减少冗余并提高代码的可读性和可维护性。以下是 20 个有效提升效率的 JavaScript 简写技巧,帮助你编写更优雅的代码!

3.5k 3 分钟

# 问题描述

平常工作中,有时候需要对浏览器的滚动条样式做调整,此时解决方案一般有以下几种方式:

  • 自己通过 js 手写一个滚动条,不过性能不好,可能会出现奇怪的 bug(不推荐)

  • 使用 css 的::webkit-scrollbar 去修改滚动条样式,不过这样的话只在 webkit 内核的浏览器上生效,火狐浏览器上不生效(若能说服用户只使用谷歌浏览器,倒是可以试试)

  • 使用 UI 组件库中的滚动条组件,比如 elementui 中的 el-scrollbar 组件,不过大家也都知道 el-scrollbar 并没有出现在官方组件文档中,原因是什么呢?大家看一下 el-scrollbar 组件的源码,就会发现,这个组件是使用 js 去操作滚动距离,所以性能也并不是最优,源码目录: node_modules/element-ui/package/scrollbars

  • 今天给大家推荐一款在 vue 中使用的滚动条组件,之所以好用主要体现在轻量级以及这个组价是用 css 搞一个滚动条,保留了原有的滚动条,所以性能非常不过,这个组件的名字叫做: simplebar-vue ,当然也有 reactangular 版本的,大家可去 github 上看下。

vue 版本的 simplebar 的 github 地址:https://github.com/Grsmto/simplebar/tree/master/packages/simplebar-vue

2.9k 3 分钟

# 一、为什么要编码

对于 Url 来说,之所以要进行编码,是因为 Url 中有些字符会引起歧义。比如以下几种场景:

1. 场景一

路径中包含有中文。然而 Url 中不能包含任何非 ASCII 字符,如果客户端浏览器和服务端浏览器支持的字符集不同的情况下,中文可能会造成问题。

https://code-nav.top/download/3?type=视频教程

2. 场景二

Url 参数字符串中使用 key=value 键值对这样的形式来传参,键值对之间以 & 符号分隔,如 /s?q=abc&ie=utf-8 。如果你的 value 字符串中包含了 = 或者 & ,那么势必会造成接收 Url 的服务器解析错误,因此必须将引起歧义的 &= 符号进行转义,也就是对其进行编码。

根据 RFC 标准,有些符号在 URI 中是不能直接传递的,要按照规定格式进行编码,下面我们看看哪些字符需要编码传递。

3k 3 分钟

DOMContentLoaded、load、beforeunload、unload

HTML 页面的生命周期包含三个重要事件:

  • DOMContentLoaded —— 浏览器已完全加载 HTML,并构建了 DOM 树,但像 <img> 和样式表之类的外部资源可能尚未加载完成。

  • load —— 浏览器不仅加载完成了 HTML,还加载完成了所有外部资源:图片,样式等。

  • beforeunload/unload —— 当用户正在离开页面时。

    每个事件都是有用的:

    • DOMContentLoaded 事件 —— DOM 已经就绪,因此处理程序可以查找 DOM 节点,并初始化接口。
    • load 事件 —— 外部资源已加载完成,样式已被应用,图片大小也已知了。
    • beforeunload 事件 —— 用户正在离开:我们可以检查用户是否保存了更改,并询问他是否真的要离开。
    • unload 事件 —— 用户几乎已经离开了,但是我们仍然可以启动一些操作,例如发送统计数据。