我遇到了一个奇怪的问题-显然,某些Node.js模块的文件夹层次结构如此之深,以至于Windows复制命令(或Copy-Item
我们实际使用的PowerShell 就是PowerShell )在路径超过250时遇到了臭名昭著的“路径过长”错误字符长。
例如,这是单个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不是一种选择:)
npm install
在目标环境中执行,它的工作方式是在本地创建一个“部署包”(基本上是一个ZIP加上一些元数据),然后将其上传到目标计算机,然后在此处提取。所以我需要node_modules
直接包括在内。
package.json
与dependencies
集?如果是这样,您是否可以不node_modules
使用而使用npminstall
或update
依赖项进行复制?