我遇到了一个奇怪的问题——显然某些 Node.js 模块的 < em > deep 文件夹层次结构太高,以至于 Windows 复制命令(或者 PowerShell 的 Copy-Item
,我们实际上正在使用它)在 path 超过250个字符时会遇到“ path too long”这个臭名昭著的错误。
例如,这是单个 Node 模块可以创建的文件夹层次结构:
node_modules\nodemailer\node_modules\simplesmtp\node_modules\
xoauth2\node_modules\request\node_modules\form-data\node_modules\
combined-stream\node_modules\delayed-stream\...
这看起来很疯狂,但是对于 Node 模块来说却是现实。
我们需要在部署过程中使用复制粘贴(我们没有使用像 Heroku 那样的“聪明”的目标平台,在那里可以选择部署 Git) ,这对 Windows 来说是一个严重的限制。
有没有 npm 命令或者其他什么东西可以压缩 node_modules
文件夹,或者只包含运行时实际需要的内容? (节点模块通常包含不需要部署的 test
文件夹等)还有别的办法吗?遗憾的是,不使用 Windows 不是一个选项:)