我遇到了一个奇怪的问题-显然,某些Node.js模块的 文件夹层次结构 如此之 深 ,以至于Windows复制命令(或Copy- Item我们实际使用的PowerShell 就是PowerShell的)在路径超过250时遇到了臭名昭著的“路径过长”错误字符长。
Copy- Item
例如,这是一个单个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不是一种选择:)
node_modules
test
npm v3(最近发布)通过拉平依赖性来解决此问题。.在以下部分的https://github.com/npm/npm/releases/tag/v3.0.0中查看发行说明flat flat。
flat flat
还有关于这个问题的最后评论https://github.com/npm/npm/issues/3697