你手里要是有一块移动硬盘,或者干脆是 256G 的移动固态,想把 HTML/CSS/JS 这类前端项目整个丢进去,插公司电脑上写、回家拔下来接自己电脑继续改——这个想法我太熟了。先给结论:外接硬盘完全可以当主开发盘,特别是纯前端项目,源码本身不重,真正的瓶颈根本不在容量,而在移动存储的随机读写能力和接口带宽。很多人嘴上说的“HTML函数”,其实指的是写在 HTML 里的 JavaScript 函数,或者整个网页项目代码,这都不重要,重要的是搞清楚:把开发盘放到外接硬盘上,到底卡在哪、怎么优化才能流畅跑起来。这篇文章我按实际踩坑的顺序,把外接硬盘做开发盘涉及的性能瓶颈、工具链环境变量、只读权限、文件系统选择全部拆开讲清楚。
1. 外接硬盘能不能当主开发盘?先说结论
1.1 “HTML函数”和主开发盘,到底是啥关系
严格说 HTML 是标记语言,里面没有函数,函数是 JavaScript 的事。但“HTML函数”这个搜索词背后,往往是一个刚开始学网页开发的新手,手里攥着几个 .html、.css、.js 文件,想找个地方统一放。公司电脑不给自己装软件,或者笔记本内置硬盘只剩 20GB,于是把目光转向外接硬盘。
这需求太真实了。前端项目至少在源码层面非常“轻”,一个包含十几个页面的纯 HTML/CSS/JS 站点,全部源文件可能不到 1MB,哪怕是 Vue/React 项目,业务代码也就几 MB。所以从容量和文件数量上看,外接硬盘完全能装下。问题出在运行开发工具链的时候,而不是存放的时候。
真正让人崩溃的场景是这样的:你把整个项目放在移动硬盘上,打开终端运行 npm install,结果进度条像蜗牛;好不容易装完依赖,运行 npm run dev,保存代码后热更新居然要等两三秒;再碰上一个大型 TypeScript 项目,增量编译能把人逼疯。这些卡顿都不是“硬盘容量不够”,而是移动存储在“频繁读写一堆小文件”的场景下,性能远不如内置硬盘。
1.2 开发工作对存储的真实压力:小文件、随机读、元数据
很多人选硬盘只盯一个参数:顺序读取速度。这其实是被拷大文件的经验带偏了。拷贝一部 4K 电影,是连续读写,移动硬盘也能跑出几百 MB/s;但开发场景完全不是这个模式。
一个项目跑起来,系统要做的是:
- 扫描
node_modules里上万个目录和文件,建立起模块索引; - 构建工具逐个读取模块源码、解析依赖、生成临时文件;
- 热更新时监听文件变化,频繁写入
.cache、dist等目录。
这些操作的特点是“数量大、单个文件小、随机访问多”。专业术语是随机读 IOPS 和 4K 性能,说人话就是:硬盘在一堆小文件里“翻找”的速度,而不是一口气搬大文件的速度。
我打过一个比方:顺序读速像你在一条直路上开车,4K 随机性能像在停满车的巷子里找车位。你的移动硬盘能跑多快的速度,看的是“找车位”的能力,而不是“开直路”的能力。后端开发涉及的依赖动辄几十万个小文件,前端虽然少一些,但 node_modules 里同样藏着上万个文件。这就是为什么把项目放外接盘后,npm install 和热更新会明显变慢。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 外接硬盘的性能瓶颈到底卡在哪一层
2.1 接口协议决定天花板:USB 2.0 到雷电 4
外接硬盘的第一道门槛是接口协议。哪怕硬盘本身是顶级 NVMe,如果接在 USB 2.0 口上,速度也就 30~40MB/s,做开发盘基本是受罪。
最常用的接口表格,我列在下面:
| 接口协议 | 理论带宽 | 实际读写速度参考 | 是否适合做开发盘 |
|---|---|---|---|
| USB 2.0 | 480Mbps | 读取 30~40MB/s | 不适合,安装依赖和热更新会非常慢 |
| USB 3.0 / USB 3.1 Gen1 | 5Gbps | 读取 300~450MB/s,写入 250~400MB/s | 能用,配 SSD 可以舒服写小项目 |
| USB 3.1 Gen2 / USB 3.2 Gen2 | 10Gbps | 读取 800~1000MB/s | 比较理想,瓶颈一般只剩硬盘本身 |
| USB4 / 雷电 3/4 | 40Gbps | 可接近内置 NVMe | 几乎和内部盘没区别,预算够就上 |
这里有个很坑的地方:移动硬盘盒子标着“USB 3.2 Gen2”,但配了一根只支持 USB 2.0 的数据线,或者电脑前置 USB 口供电不足,系统会直接协商到低速模式。所以别只看盒子宣传,实际插入后,去看系统里的连接状态。Windows 下可以用 USBTreeView,或者直接拿 CrystalDiskMark 跑一遍。
2.2 硬盘本体:SSD 和机械盘的“翻书速度”差距
接口只是上限,硬盘本身的随机读写能力才是下限。机械移动硬盘的顺序读速可能到 100MB/s 以上,但 4K 随机读取只有 1MB/s 左右。跑开发工具时,每秒不知道要发起多少次小于几 KB 的读请求,机械盘瞬间就卡住。
普通 SATA 固态的 4K 随机读取能到 20~40MB/s,NVMe 固态能到 50MB/s 以上,换算成 IOPS,差距是几十倍。所以在移动硬盘盒里,我强烈建议用固态盘,而不是把老笔记本拆下来的机械盘塞进去省钱。一个低端 NVMe 移动固态,价格虽然比机械盘贵不少,但换来的是开发过程中不砸键盘的体验。
另外要注意硬盘盒里的主控方案。有些便宜硬盘盒用的是桥接芯片,不支持 UASP(USB Attached SCSI Protocol),小文件传输效率会明显下降。设备管理器里看到“UASP StorPort”字样(Windows 系统),说明支持;如果只是标准 USB Mass Storage,性能通常会差一截。
2.3 文件系统与系统策略会“反向拖累”性能
选错文件系统,外接盘会被“扣分”。当前 Windows 环境下最常见的三种格式:
- NTFS:带日志,Windows 下性能最好,支持文件和目录权限,支持符号链接和 junction,是做开发盘的首选;
- exFAT:跨平台兼容好(Windows/macOS 通用),但没有日志,也不支持符号链接/junction,大量小文件性能没有 NTFS 稳;
- ext4:Linux 原生最优,Windows 读不了,除非跑 WSL/WSL2 的挂载场景。
我见过不少人为了“Windows 和 Mac 都能写”,把开发盘格式化成 exFAT。结果项目里一旦要建符号链接,或者某些工具需要文件权限,就开始各种报错。如果你主要是在 Windows 上开发,别犹豫,直接格成 NTFS。如果偶尔 Mac 要用,可以用 macOS 安装 NTFS 读写驱动,或者干脆把外接盘只当存储盘,开发时重新 clone 一份到本机。
除了文件系统,Windows 自身的策略也会拖后腿:
- Windows Defender 实时保护会扫描每一个外部盘上的新文件,
node_modules第一次读取时会被反复扫描,肉眼可见的卡; - Windows 默认的“快速删除”策略会关掉写入缓存,影响写入性能;而改成“更好的性能”又必须在移除前点“安全弹出”,否则容易丢数据;
- BitLocker 加密虽然安全,但会让小文件读写性能再打折。
这些都属于“系统层面的隐形瓶颈”,不是硬盘本身的问题,却经常被人误判成移动硬盘不靠谱。
3. 实操:把外接硬盘调校成可用的主开发盘
3.1 上手前先给硬盘测个速,别被“标称”骗了
不管拿到的 SSD 有多贵,我建议先跑一遍基准测试,把实际数据留下来。工具用 CrystalDiskMark 就够,开源、绿色、体积小。设置建议:
- 测试次数:3 次;
- 数据量:1GiB;
- 重点看两项:
SEQ1M Q8T1(顺序读写)和4KiB Q1T1(单线程 4K 随机)。
很多卖家标的是顺序读写峰值,开发场景真正要看的 4K 表现不会写在广告页上。我自己的判断标准:
| 关键指标 | 能顺利做开发盘 | 勉强用 | 建议放弃 |
|---|---|---|---|
| 4KiB 随机读取(Q1T1) | 大于 25MB/s | 10~25MB/s | 小于 10MB/s |
| 4KiB 随机写入(Q1T1) | 大于 40MB/s | 15~40MB/s | 小于 15MB/s |
| 接口协商速率 | USB 3.0 以上 | USB 3.0 | USB 2.0 |
测试时注意,把外接盘直接插在主板上,不要经过 HUB,HUB 容易引入供电和转发问题。我见过一块 512GB 移动固态,插前置 USB 口只有 180MB/s,换到机箱后置口马上到 800MB/s。这时先别怪硬盘,先怪接口和线。
3.2 分区和格式化时,三分钟做好这些设置
如果你准备把这盘当作长期的开发盘,我建议重新初始化一次。当然,盘里有数据要先备份。
在 Windows 磁盘管理里操作:
- 删除所有分区,让整块盘变成未分配;
- 新建简单卷,分区表类型用 GPT(新版 Windows 都支持,别再用 MBR);
- 文件系统选 NTFS,分配单位大小保持默认(4K)即可;
- 分配盘符时,手动指定一个不常用的字母,比如
X:。
固定盘符是很多人会忽略的细节。外接盘的盘符一旦随插入顺序变化,环境变量、IDE 打开的项目路径、脚本里的绝对路径就全部失效,这也是后面“命令无法识别”的诱因之一。
3.3 用 junction 把 node_modules 和缓存指向本地盘
这是整套方案里含金量最高的一步。原理很简单:前端项目真正的性能大头不在源码,而在 node_modules、.cache、dist 这类“可以随时重新生成”的目录。我们做的是让这些重负载目录留在本地内置 SSD,项目源码和 .git 继续留在外接盘。
Windows 上有一个名为 junction 的目录链接机制,也可以叫目录联接。创建之后,访问外接盘上的 node_modules 文件夹,系统会自动跳到本地盘的真实目录。程序读起来路径是外接盘,实际读写发生在本地盘,这就能绕开移动存储的小文件瓶颈。
具体操作步骤:
假设项目在外接盘 X:\projects\vue-app,本地缓存目录为 C:\devcache\vue-app-node_modules。
- 在外接盘项目下先删除或移走已有的
node_modules目录(没有就跳过); - 在本地磁盘上创建
C:\devcache\vue-app-node_modules; - 打开 CMD(不需要管理员权限)执行:
cmd复制mklink /J X:\projects\vue-app\node_modules C:\devcache\vue-app-node_modules
运行完毕后,在项目根目录直接 npm install,依赖会落在 C 盘本地目录。源码仍在外接盘,但安装和加载依赖的速度会接近内置盘水平。
这里注意,exFAT 文件系统不支持 junction,所以我才在上一节强调 NTFS。另外,不要用 mklink /D 替代 /J,/D 创建的是符号链接,部分工具在遍历时容易出问题,而 junction 对目录是透明的,兼容性更好。
除了 node_modules,还可以把下面的缓存目录也链接到本地:
- npm 缓存:
npm config set cache C:\devcache\npm-cache - pnpm 全局商店:
pnpm store path --global C:\devcache\pnpm-store - Vite 缓存:
node_modules/.vite默认就在 node_modules 里,已经不用额外处理; - TypeScript 增量编译缓存:配置
incremental: true时指定tsBuildInfoFile到本地目录; - ESLint 缓存:用参数
--cache --cache-location C:\devcache\.eslintcache。
简单说,凡是“删了能重新生成”的大目录,都值得往本地盘丢。源码和 .git 留下,这样拔掉外接盘后,换一台电脑重新插上,只要本地依赖文件还在,项目依然能直接进入开发模式。
3.4 把“临时文件”全部留在本地,外接盘只留源码
node_modules 链接走之后,还有几个容易被忽略的目录也在疯狂读写:
dist/build:打包产物,频繁写入,可设置为不放在外接盘,或用.gitignore排除;- IDE 的索引目录:VS Code 会在项目根目录生成
.vscode缓存,WebStorm 的索引目录也很吃 IO; .cache、.temp、.turbo:不同工具的缓存目录名五花八门。
我的建议是:给外接盘做一个项目模板,模板里统一写上 .gitignore,把所有缓存目录都忽略掉,然后按上节方法,将可在本地再生的目录做成 junction。实际操作一次后,以后每个新项目都复制这个流程,十分钟就能搞定一个移动开发环境。
还有个技巧:源码用小文件形式存在外接盘,虽然也会被读,但量级远比依赖目录小。纯 HTML/CSS/JS 项目源码可能只有几十个文件,对移动固态来说毫无压力。即便你的是 Vue/React 大型项目,业务源码也就几百个源文件,影响有限。
3.5 开发服务器和文件监听的性能优化
完成目录迁移后,热更新卡顿的问题至少能解决一半。剩下的一半出在文件监听器上。
Vite、Webpack、Node 自带的 fs.watch 都在监听源码文件变化。外接盘虽然读写快,但文件系统事件通知机制在不同设备上表现不稳定。如果你发现保存代码后热更新延迟严重,可以尝试调整监听策略。
以 Vite 为例,在 vite.config.ts 里可以加一段:
ts复制import { defineConfig } from 'vite'
export default defineConfig({
server: {
watch: {
// 使用 polling 会解决某些移动硬盘/网络盘监听不到的问题
usePolling: false,
// 如果出现监听漏掉的情况,再改成 true
// usePolling: true,
// interval: 100,
},
},
})
默认 usePolling: false 依赖系统事件,性能好,但有些外接盘的文件系统事件不靠谱,导致保存后不触发热更新,此时再试着改成 true,代价是 CPU 占用会上去。Webpack 也有类似的 watchOptions 配置。
还有一个小坑:外接盘如果支持自动休眠,长时间不读写时硬盘断电,等你回来敲代码,第一次保存要等 3~5 秒让硬盘“醒”过来。有些硬盘盒可以通过工具关闭休眠,或者在 Windows 电源选项里把“关闭硬盘”设为“从不”。独立供电的 3.5 寸盘尤其要注意这个。
3.6 外接盘只读权限问题的处理
热词里出现“外接硬盘只读权限”,这个是我实际开发中也被坑过多次的事。外接盘突然变只读,表现为:能读文件,但删除、修改、命名全都被拒绝。
Windows 平台最常见的几种原因:
- 系统为磁盘设置了只读属性,运行
diskpart可以查看和清除; - 文件系统有错误,Windows 自动挂载成只读保护数据;
- NTFS 权限里当前用户无写权限;
- 盘以前被 BitLocker 或者别的加密工具锁定过。
排查顺序我建议这样:
- 打开“此电脑→管理→磁盘管理”,看卷是否显示“只读”;
- 以管理员身份打开 CMD,执行:
cmd复制diskpart
list disk
select disk 1
attributes disk
attributes disk clear readonly
exit
注意选对磁盘编号,千万别把内置系统盘给清了。
- 对文件系统做修复:
cmd复制chkdsk X: /f /r
- 检查 NTFS 安全权限,右键盘符 → 属性 → 安全,确认当前用户有“完全控制”权限。
在 Linux 或 NAS 上也有类似问题。比如在常见开源 NAS 系统(国内很多人用的飞牛)上,外接硬盘挂载后默认可能是只读,需要到存储管理里重新挂载为读写模式,或者用命令行检查对应挂载点权限。这类系统底层往往是 Linux,NTFS 格式需要 ntfs-3g 挂载,命令大致是:
bash复制sudo mount -t ntfs-3g -o rw,uid=1000,gid=1000 /dev/sdb1 /mnt/disk
不同系统用户 ID 不一样,但核心思路是:挂载时显式加上 rw 参数,而不是依赖默认配置。
4. 环境变量和命令行工具的坑:为什么总提示“无法将xxx识别为 cmdlet、函数、脚本文件或可运行程序的名称”
4.1 这句话意味着什么
在 PowerShell 里输入 npm、git、pnpm,甚至 claude、opencode 这类工具时,经常会看到这串红字:
code复制无法将“claude”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
很多新手以为代码写错了,其实和代码一点关系都没有。这是 Windows 在说:当前终端环境的 PATH 里,找不到一个叫 claude 的可执行文件。
如果你的开发工具链是装在移动硬盘上的,这个问题会特别明显。因为外接硬盘的盘符不稳定、插入时机不确定,系统环境变量里写死的 E:\nodejs 在你下次插入时可能变成了 F:\nodejs,自然就识别不到命令。同时,工具链具备“可移植性”和“系统级安装”是两回事,装到外接盘需要更讲究。
4.2 外接盘作为开发盘时,环境变量应该怎么配
第一步,固定盘符,这部分前面提过。第二步,把外接盘里的工具链目录统一整理。我习惯在移动盘根目录建一个 Portable 文件夹,里面放:
nodejs(Node 便携版)git(Git 便携版)cli(一些全局命令行工具的.cmd脚本)
然后有两种配置思路:
一种是直接把 X:\Portable\nodejs、X:\Portable\git\cmd 加入系统环境变量 PATH。优点是命令全局可用,缺点是一旦拔掉移动盘,所有依赖它的命令都会报错,甚至影响系统里原本正常的软件。
另一种是我更推荐的:不要动系统全局 PATH,而是做一个“开发者快捷启动脚本”。写一个 .cmd 文件放在桌面,双击后只在当前终端里临时设置环境变量:
cmd复制@echo off
set PATH=X:\Portable\nodejs;X:\Portable\git\cmd;%PATH%
cd /d X:\projects
cmd /k
这样拔掉移动盘后,系统里的原生命令不受影响;插入移动盘后,双击脚本,打开一个带了全部工具链的终端。IDE 里配置终端为这个脚本,就是完整的移动开发环境。缺点是要多一步操作,但稳定性和可维护性好很多。
第三步,针对 npm 全局工具,比如 claude、opencode,它们本质上是 Node 包,装在全局目录 node_global 下。如果你用便携版 Node,可以把全局目录也放到 X:\Portable\node_global,然后用 npm 配置指过去:
cmd复制npm config set prefix X:\Portable\node_global
之后执行 npm i -g claude 这类命令安装的工具,就会在 X:\Portable\node_global 生成 .cmd 文件,只要 PATH 里包含这个目录,终端就能识别到 claude 命令。
4.3 盘符变了导致命令失效,该怎么办
假设你把环境变量写成了 E:\Portable\nodejs,结果这次插入移动盘后系统分配的是 H:。解决思路有两个。
第一,用“卷标 + 脚本动态挂载”的思路:不让系统自动分配盘符,而是写一个登录脚本,检测移动盘卷标,主动分配固定盘符。第二,更省事:每次插入后如果发现盘符不对,手动修正。在“磁盘管理”里找到移动盘,右键“更改驱动器号和路径”,改成原来固定好的那个字母,几秒钟就能搞定。
另外,如果你遇到的是“外接盘无法识别”“磁盘驱动器带感叹号”之类的问题,先别去动环境变量。那通常是驱动或供电问题,和命令识别无关。排查方向是设备管理器和 USB 线。
4.4 不要把工具链永久“绑在”外接盘上
个人心得:外接盘适合放项目源码和便携工具,但不要把整个系统的 Node/Git 安装路径写死在外接盘。因为移动存储天然不可靠,一旦忘带盘,就连写个脚本都敲不了 node。
我会在办公电脑本地也装一套 Node,只是版本不必太新,用于临时跑点脚本。真正的项目开发,再插外接盘用便携版。这样两边都能干活,只是性能好的环境在外接盘这套方案上。
5. 避坑实录:移动开发盘使用中的高频翻车现场
5.1 一个典型的卡顿排查实录
我之前有一块 USB 3.0 机械移动硬盘,一个 React 项目,源码大概几百个文件。一开始把整个项目连同 node_modules 都放在盘上,npm install 跑一次要二十多分钟,热更新保存一次要等七八秒。我一度以为是电脑 CPU 太弱,后来用进程监视器一看,硬盘队列深度常年爆表,全是小文件读。
后来我把 node_modules 用 junction 链接到本地 NVMe,再跑一次 npm install,降到四五分钟;热更新基本在 1 秒内。同一块盘、同一个项目,只因为依赖目录不在移动盘上,体验完全不同。
另一台机器上用移动固态 + USB 3.2 Gen2 硬盘盒,项目执行 Vite 热更新,哪怕 node_modules 还放在移动盘里,日常写代码几乎感觉不到和外置内置的区别。只有在 npm install 这种成千上万小文件写入的场景下,才会比本地盘慢一些。这说明:接口越快,移动盘和本地盘的差距越小;但如果盘是机械的,即使接口是雷电,也救不回来。
5.2 突然拔盘 / 断电导致的坑
移动固态数据安全性比机械盘好不少,但没有安全弹出就拔掉,照样可能出问题。尤其你把 Windows 磁盘策略设置成“更好的性能”后,系统会在写入缓存里囤一批数据,拔得太快,轻则丢失文件,重则分区表损坏。
我吃过大亏:有次改完代码直接拔盘,没弹就塞包里,回家插上一看,整个项目目录还在,但几个刚改的源文件变成 0 字节。Git 里还没提交,当天下午的工作全白干。
现在我的原则是:
- 开发过程中不拔盘,要走的时候先停掉 dev server 和 watch 进程;
- 在系统托盘点“安全删除硬件并弹出媒体”,等提示后再拔;
- 如果实在来不及,拔之前至少按一次 Ctrl+S,把文件内容写好。
万一真碰上 Git 仓库损坏,先别急着重克隆。在项目目录打开终端执行:
cmd复制git fsck --full
如果只是部分对象损坏,可以从远程仓库拉取恢复;没有远程仓库的话,只能靠 IDE 本地历史或文件恢复工具补救。所以外接盘做开发盘,远程仓库备份真的不能少。
5.3 备份策略:别让外接盘成为唯一副本
移动存储再快、再稳定,本质上都是“容易丢的东西”。丢的方式不是只有物理损坏,还有误删除、坏道、分区表损坏、文件系统错误。所以我做移动开发盘时坚持一个原则:
外接盘只放可以从远程拉回来的代码,绝不放只存在于盘上的关键数据。
每天结束前,我会把当天的提交推到 Git 远程仓库;敏感配置文件和私钥留在本地盘,不放进移动盘,因为移动盘一旦丢失,私钥泄漏比丢代码严重得多。如果有不想提交到远程的脚本,用 robocopy 定时同步到本地的另一个目录:
cmd复制robocopy X:\projects\needed C:\backup\needed /MIR /R:2 /W:5
这样就算移动盘整个报废,最多损失最后一个备份周期内的改动,不会全军覆没。
5.4 关于移动固态硬盘的选购建议
如果上面这些你都试过了,还是嫌卡,大概率是硬件选型问题。我给新手的建议优先级是:
- 优先买 NVMe 移动固态硬盘,而不是 SATA SSD + 硬盘盒;
- 硬盘盒选支持 USB 3.2 Gen2 或雷电的,桥接芯片尽量选熟知的型号;
- 数据线用硬盘盒自带或质量过关的短线,别用那种能穿墙的长线;
- 不要买 2.5 寸机械盘装硬盘盒做开发盘,哪怕容量再大也别用,小文件读写会让你怀疑人生。
移动固态硬盘的价格已经降到可以接受的区间,如果预算紧张,哪怕容量选 256GB 也够放代码和工具链,反正依赖目录已经被我们指到本地了。
6. 我的最终配置方案,你可以直接抄作业
最后交出一份实践过挺长一段时间的方案,适合 Windows 办公电脑 + 外接移动固态场景。
硬件:500GB NVMe 移动固态硬盘,USB 3.2 Gen2 硬盘盒。
系统准备:
- 移动盘 GPT 分区,格式化为 NTFS,固定盘符
X:; - 本机 Windows Defender 排除
X:\projects和C:\devcache; - 外接盘根目录建
Portable、projects、cache三个文件夹。
工具链:
- 便携版 Node 放到
X:\Portable\nodejs; - 便携版 Git 放到
X:\Portable\git; - 全局 npm 前缀设置为
X:\Portable\node_global; - 桌面放一个“移动开发终端.cmd”脚本,双击后进入带环境的命令行。
项目初始化:
- 在
X:\projects下创建项目; - 项目里建好
.gitignore; - 在本地
C:\devcache创建对应项目的缓存文件夹; - 用
mklink /J X:\projects\项目名\node_modules C:\devcache\项目名-node_modules; - 正常
npm install,之后所有开发操作都保持这个结构。
最后说点真实的感受:外接硬盘做主开发盘这件事,绝对可行,但不是把盘一插就完事。你要绕过移动存储在小文件随机读写上的短板,把依赖、缓存这类“重”目录交给本地盘,让源码这种“轻”文件留在外接盘。只要做到这一点,一套几百块钱的移动固态随你怎么插,体验几乎和内置 SSD 一致。要是你手里的盘连 USB 3.0 都不到,或者还在用机械移动盘,那就别折腾了,老老实实把项目放到本地开发,外接盘只当备份介质。硬件条件到位、目录结构合理之后,你会很快发现,随身带着整个前端开发环境到处跑,其实是一件非常顺手的事。
