Mac 福利:从前端入手,搞定 iCloud 自动同步 node_modules 的痛点

本文永久连接:github.com/HaoChuan942…前端

我要解决什么痛点?

不少前端小伙伴都在使用 Mac 做为本身的主力开发机型,而苹果自家 iCloud 同步的便利性相信也不须要我多解释,特别是当你有多台苹果设备时,那种无缝的体验,一旦用了就回不去。可做为一名前端开发,今天,不管你使用的是 Vue 仍是 React 亦或任何其余的前端技术栈,几乎是不可能避开 npm 的,可是若是你想把本身的代码也备份到 iCloud,为它上一份双保险(git仓库一份)。那么你会发现,当 iCloud 自动同步 node_modules 时,那是一种多么痛的领悟 —— 无尽的文件、嵌套的层级、庞大的体积等等,而 node_modules 也并无同步的必要,你只须要一个 package.jsonlock file 就能够随时随地,无缝还原。在这方面,iCloud 的糟糕体验使得你不得不打消用它来备份前端代码的念头。vue

有没有现行的解决之道?

如何避免 iCloud 自动同步 node_modules?方法仍是有的,你只须要建立一个 node_modules.nosync 文件夹,而后为它制做一个名为 node_modules 的替身(快捷方式)便可。iCloud 不会同步以 .nosync 结尾的文件或者文件夹,而这样作也不会影响到你的开发。node

mkdir node_modules.nosync && ln -s node_modules.nosync node_modules
复制代码

但这并非最佳实践,因此当你用谷歌搜索 iCloud node_modules 这些关键字的时候,你会发现大量用户抱怨这个,我也是其中之一,并给苹果提交的反馈,可是苹果彷佛并无积极解决这个问题的态度,网上提供的方案也大致和我上面说的同样。react

一个前端攻城狮的反击!

难道就要这样将就?其实上面的那行命令彻底能够作成一个可执行文件,这样每次须要时,只须要执行一个简短的命令就 OK 了。再联想到咱们平时用 npm 全局安装的一些 CLI 工具,好比vue initcreate-react-appnodemon等等,我以为:身为一个前端,我应该作点什么了。因而 —— nosync-icloud 就诞生了👏👏👏🎉🎉🎉。git

Version Downloads Commit Issues License

如何使用

1. 安装
sudo npm i -g nosync-icloud
# or
sudo yarn global add nosync-icloud
复制代码

安装成功后会建立 nosyncns (简写,做用相同)的全局命令。github

2. 使用

打开 iCloud,进入任何一个你的项目中,在终端中执行 ns 便可。ns 命令会根据你当前项目结构,自动处理 node_modules,若是你以前没有安装过 node_modules,它会提供三种可选安装方式 —— npmyarncnpm,固然你也能够选择稍后安装。安装完成后,你能够选择是否将 node_modules* 的忽略规则添加 .gitignorenpm

3 其余指令

nosync-icloud 不只能够 禁止 iCloud 自动同步 node_modules,你还能够经过 ns -f foo 指定任何你不但愿同步的文件夹。json

指令 简写 做用
--version -v 查看当前版本号
--help -h 输出帮助信息
--folder -f 指定不但愿同步到 iCloud 中的文件夹,默认是 node_modules,如: ns -f foo
--git -g 跳过提示,直接添加 .gitignore,可选:ns -g false,跳过提示,不添加 .gitignore

写在后面

但愿 ns 命令能成为使用 Mac 开发的前端小伙伴们回不去的习惯,也许之后你进入项目的第一件事不是执行npm i 或者 yarn,而是执行 ns,为本身的前端项目上一份双保险。若是它实实在在给你带来了便利,不妨去 收藏 一下,你也能够把这个好用的工具分享给身边的其余人。若是你有任何建议或问题,欢迎提交 IssuePRbash

相关文章
相关标签/搜索