来自分类 Vue2025-12-18 13:59:24
看到检测到新版本后自动更新版本, 第一反应想到就是`ServiceWorker`, 是的, 使用`ServiceWorker`好处多多, 包括提示更新版本, 但是使用`ServiceWorker`有一个硬性条件, 那就是必须是 https 或者 localhost, 一些时候需要部署在内网时, 就没法实现了, 那么就必须换个思路来 大概思路就是: 请求一个文件, 读取该文件内容里的时间戳, 和本地缓存里的时间戳做对比, 如果不一致就给出提示, 让用户点击刷新 第一步: 那就是编译时, 附带生成一个文件, 并记录编译时的时间戳 这个我们可以写一个简单的`vite`插件, 编译后自动生成一个json文件, 当然不嫌麻烦, 也可以手动来改动一个文件 ```ts export default defineConfig(({ mode }: ConfigEnv) => { // 编译后保存文件的文件, 一般是dist文件夹 const outDir = 'dist' return { // 其他配置 plugins: [ ...
来自分类 前端2025-07-25 17:55:05
因为国内网络的原因, 给 npm 设置 registry 是必须的事情, 不然安装个依赖都下到天荒地老, 然后设置了 registry 后, 使用`npm publish`又会将包发到非官方去, 简单的做法就是去`.npmrc`文件把 registry 给注释了, 然后整天改来改去也挺麻烦的, 有没有省事一点的方法呢? ## 1. 登录npm 首先, 我们需要先登录到npm, 登录的方法有两种 ### 1.1 账号密码登录 ```bash npm login --registry=https://registry.npmjs.org/ ``` 这里不能直接使用`npm login`登录, 不然会链接到`registry`设置的环境去 ```bash npm login # npm notice Log in on https://registry.npmmirror.com/ ``` 然后输入 npmjs 的账号密码, 即可登录 ### 1.2 使用 token 登录 如果你不希望每次使用 npm 时都...
来自分类 前端2025-07-04 14:02:20
@[toc] ## nodejs ===框架=== https://github.com/expressjs/express `快速、无约束、极简的node web框架` [[文档]](https://expressjs.com/) https://github.com/koajs/koa `使用 ES2017 异步函数为 node.js 提供表现力的中间件` [[文档]](https://koajs.com/) ===其他=== https://github.com/cheeriojs/cheerio `为服务器特别定制的,快速、灵活、实施的jQuery核心实现` [[文档]](https://github.com/cheeriojs/cheerio/wiki/Chinese-README) https://github.com/node-schedule/node-schedule `定时任务` https://github.com/paulmillr/chokidar `最小和高效的跨平台文件监视库` https://github.com/shelljs/shelljs `...
来自分类 其他2025-04-25 09:53:08
默认情况下,Docker 在 Linux 上安装时会将其数据(如镜像和容器)存储在 /var/lib/docker 目录下,这个目录通常位于根分区 /。 如果你的根分区 / 的空间不足,你可以考虑将 Docker 的数据目录移动到其他分区,或者在安装 Docker 时直接配置它使用其他分区。 要更改 Docker 的默认存储位置,你可以通过修改 Docker 的配置文件或在启动 Docker 服务时设置环境变量来指定新的数据目录。 下面是一些步骤说明如何进行配置: # 1. 停止 docker 服务 ```bash systemctl stop docker # 如果没有权限, 可以使用 sudo sudo systemctl stop docker ``` # 2. 创建新的存储目录 ```bash mkdir -p /data/docker ``` # 3. 修改 Docker 配置文件 ```bash vi /etc/docker/daemon.json ``` 如果是空文件, 添加以下内容 ```json { "data-root": "/data/...
来自分类 其他2025-04-15 10:37:03
```bash cd ~ cat > docker.sh << 'EOF' #!/bin/bash # 下载docker包 # 根据架构适当修改, 详情见: https://mirrors.aliyun.com/docker-ce/linux/static/stable/ wget https://mirrors.aliyun.com/docker-ce/linux/static/stable/aarch64/docker-28.0.4.tgz # 解压 tar zxf docker-28.0.4.tgz # 移动解压后的文件夹到/usr/bin mv docker/* /usr/bin # 写入docker.service开始 ===> cat > /usr/lib/systemd/system/docker.service << EOF_DOCKER_SERVICE [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=networ...
来自分类 其他2025-04-15 10:31:48
```bash # 查看磁盘 lsblk # 输入类似内容 # nvme1n1 259:0 0 1.5T 0 disk # nvme0n1 259:1 0 1.5T 0 disk # nvme2n1 259:2 0 1.5T 0 disk # 下面命令行中的`nvme0n1`为其中一块磁盘, 根据需要可修改 # 创建分区 (依次输入: n - 回车 - 回车 - 回车 - w) fdisk /dev/nvme0n1 # 格式化分区 mkfs.ext4 /dev/nvme0n1 # 创建挂载目录 mkdir -p /data # 临时挂载分区 mount /dev/nvme0n1 /data # 设置开机自动挂载 UUID=$(blkid -s UUID -o value /dev/nvme0n1) sh -c "echo 'UUID=$UUID /data ext4 defaults,nofail 0 2' >> /etc/fstab" # 验证配置无误 mount -a # 验证挂载 df -h /data ``` ...
来自分类 React2025-01-16 10:27:34
一开始的思路是在列表页面, 利用`useEffect`钩子监听location, 在清除函数里获取滚动条的高度, 可惜获取时机好像不对, 一直获取的高度都是0, 通过打印`body`的`innterHTML`发现, 这时候路由已经开始渲染详情页了 然后开始尝试使用`addEventListener`监听`scroll`, 代码如下: ```ts export function useSaveScroll(key: string) { const location = useLocation() const pathname = location.pathname useEffect(() => { const handleScroll = () => { ls.set(`scroll_path_${pathname}`, window.scrollY) } const scrollY = ls.get(`scroll_path_${pathname}`) || 0 wi...
来自分类 Vue2024-10-29 16:46:20
### 1. 新建一个 js/ts 文件, 定义好常量 ```ts // design.config.ts /** 设计稿宽度, 此处最好就是按 1920 来计算, 避免 element-ui 之类 UI 框架出现字体不对 */ export const designWidth = 1920 /** 设计稿宽度, 此处最好就是按 1920 来计算, 避免 element-ui 之类 UI 框架出现字体不对 */ export const designHeight = 1080 /** 设计稿倍数 */ export const designMultiple = designWidth / 1920 /** 兼容最小宽度 */ export const minWidth = 1440 /** 兼容最小宽度(px) */ export const minWindow = `${minWidth}Px` /** 为什么设置 100? 设置成便于计算, 计算rem时只需要将 设计稿的宽度 / 100 即可 */ export const fontSize = 100 ``` ### 2. ...
来自分类 前端2024-10-24 16:20:37
JSDelivr 是由 @Cloudflare 提供的免费开源公共 CDN。针对 npm 和 GitHub 的 JS 和 ESM 交付进行了优化。适用于所有 Web 格式。 官网地址是: https://www.jsdelivr.com/ 可以用`https://cdn.jsdelivr.net/npm/package@version/file`来访问 npm 上的文件, 如: https://cdn.jsdelivr.net/npm/jquery@3.6.4/dist/jquery.min.js 可以用`https://cdn.jsdelivr.net/gh/user/repo@version/file`来访问 github 上的文件, 如: https://cdn.jsdelivr.net/gh/jquery/jquery@3.6.4/dist/jquery.min.js 但是官方提供的CDN地址`cdn.jsdelivr.net`, 国内是基本打开的, 所以就需要找其他节点来替代 |节点|描述|地区|延迟|超时率| |-|-|-|-|-| |jsd.onmicrosof...
来自分类 NodeJS2024-02-01 12:46:37
随着越来越多的工具不再支持 Nodejs 16, 是时候将服务器的 Nodejs 版本升级到18了, 服务器本来就安装了`nvm`, 所以升级也很简单, 直接 ```bash nvm install v18.18.2 nvm use 18 ``` 就行了, 可是已运行`node -v`, 漂亮, 直接报错 ``` node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node) node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node) node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node) node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node) node: /lib64/libstdc++.so.6: version ...