在开发环境完全可以用 MariaDB
代替 MySQL
,而且安装更方便。
1 | # 更新索引包 |
服务状态显示例如:
1 | [ + ] cron |
- [ + ] 为已启动
- [ - ] 为未启动
配置文件位置:
1 | /etc/mysql/debian.cnf |
在开发环境完全可以用 MariaDB
代替 MySQL
,而且安装更方便。
1 | # 更新索引包 |
服务状态显示例如:
1 | [ + ] cron |
配置文件位置:
1 | /etc/mysql/debian.cnf |
迁移 wsl
系统的文件位置的方法是:导出再导入。我这里操作的发行版是 Debian
,你根据需要更换就可以,如 Ubuntu。
1 | # 停止全部虚拟机 |
导入导出有两种模式,一种是导出 tar
文件,再把 tar
文件导入到指定的文件夹,生成新的虚拟硬盘;另一种是导出 vhdx
(虚拟硬盘)文件,再把虚拟硬盘导入,继续使用该虚拟硬盘。我们用第二种方法操作。
1 | wsl --export Debian D:\WSL\Debian-12-ext4.vhdx --vhd |
也可以直接把 C:\Users\[user]\AppData\Local\Packages\[distro]\LocalState\[distroPackageName]\ext4.vhdx
复制到指定位置再导入。
1 | wsl --unregister Debian |
1 | wsl --import-in-place Debian D:\WSL\Debian-12-ext4.vhdx |
如果不设置,默认将用 root
用户登录。
1 | Debian config --default-user <username> |
Debian 官方源网速太慢,换成国内源必不可少。
1 | sudo apt install apt-transport-https ca-certificates |
先备份 /etc/apt/sources.list
,然后把其内容替换为:
1 | # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 |
PHPStorm
不索引被排除的目录。在项目文件/文件夹上右键可排除、取消排除目录,更方便的是在 Settings > Directories
可查看和管理以标记的目录。
两个索引大户是 vendor
和 node_modules
目录。
php
库把 vendor
目录排除,再到 Setting > PHP
把需要用到的包目录加入到 Include path
。
有时候把 Setting > PHP > Include path
的很多 vendor
中的目录去掉后,重启 PHPStorm 又自己加进去了。
解决:Setting > PHP > composer
设置的 作为库添加软件包
前的勾去掉。
node_modules
PHPStorm 默认已经把 node_modules
排除掉,在 Settings > Languages & Frameworks > JavaScript > Libraries
中自动把 package.json 中依赖的库加入到名为 ${project-name}/node_modules
的库。
我们可以用 pnpm
代替 npm
管理包来减少 IDE 的卡顿。pnpm
极大优化性能,速度更快、占空间更少。pnpm
管理的 node_modules
使用树状结构而不是扁平结构,IDE 打开 node_modules 目录不卡。
Laravel 项目还可以把 public
、storage
目录排除。
可在 help > 更改内存设置
修改最大堆大小,也可在 help > Edit Custom VM Options
中设置如 -Xmx2048m
。
禁掉一些很好用的功能达到提速的目的是来搞笑的。如有人建议禁掉 Language injection
插件,完全禁掉这个插件是不可取的,可以到 Settings > Editor > Language Injections
把一些用不到的插入语言去掉。
Vite缩小打包体积:使用 visualizer 分析文件依赖关系与文件大小
在 Vite
中用 manualChunks
分割打包时,找文件依赖很麻烦,用 rollup-plugin-visualizer
可以帮我们找出依赖关系、分析依赖包的大小。
pnpm i -D rollup-plugin-visualizer
在 vite.config.js
中添加:
1 | import { visualizer } from 'rollup-plugin-visualizer'; |
执行 pnpm build
,编译完成后,会在浏览器中自动打开下面的页面:
ElementPlus 开发 SPA 应用 dev 模式加载太慢的原因及解决办法
开发 SPA
应用用到 ElementPlus
,官方推荐用 自动导入
方式来引用。
如果你用笔记本开发,那么预览时 js 的加载速度会极慢,node 占 CPU 超过100%,非常影响开发体验,恨不得换到 MPA 模式开发。
因为自动自动导入方式预览时,要加载一百多个js文件。如果你用的是强劲的台式机,用这个方式没发现有明细的卡。笔记本 CPU 顶不住。
用 完整引入
或 按需导入
就没这个问题。
建议使用 完整引入
方式,ElementPlus 相关 js 就只引入了一个 /node_modules/.vite/deps/element-plus.js
,而不是自动导入的上百的js文件。
编译后 element-plus 后的 js gz 后需要多传输 100k 左右,如果你受不了,可以另外加一个自动加载的 vite 配置,在增加一个创建不用全局引入 ElementPlus 的入口文件给 vite 引用。
如:build 时使用 vite.build.js
配置,在 vite.build.js 中引用使用 自动导入
的js入口文件。再把 package.json
的 scripts.build
改为 vite build --config vite.build.js
,这样就可以实现 dev 时使用完整引入
ElementPlus,build 时使用自动导入
减少编译文件的大小。
Linux 创建交换分区提供虚拟内存,解决运行时出现提示内存不足问题
如果服务器内存不够用,可以创建交换区提供虚拟内存,支持要求较大内存程序的执行。
1 | # 创建分区路径 |
1 | sudo swapoff /var/cache/swap/swap0 |
1 | groupadd www |
1 | sudo apt update |
fileinfo
扩展需要较多内存,报虚拟内存用尽可增加虚拟内存。用户清单通常保存在 /etc/passwd
文件内,把哈希编码后的密码保存在 /etc/shadow
文件内。这两个文件都是纯文本档,以简单的格式保存,可以用文本编辑器读取与修改。每个用户占一行,其字段以冒号分隔 (“:”)。
/etc/passwd
用户清单,按固定顺序记录字段,并以 : 隔开,如:admin:x:1000:1000::/home/admin:/bin/bash
,字段清单:x
表示密码保存在 /etc/shadow
文件;/bin/false
(不做任何事并立即回到控制),则用户无法进入系统;若指定为 /usr/sbin/nologin
则是禁止登录。/etc/shadow
保存用户密码,含以下的字段:/etc/group
用户组信息,包括以下的字段: