找到了类似问题:https://segmentfault.com/q/10...
使用nw.js开发一个软件,依赖了两个库,在package.json文件中定义了两个库的依赖,然后在项目目录下执行
cnpm install
npm下载了非常多的包到项目的node_modules目录下,包括一些快捷方式。有9000多个文件。查询资料得知这是npm3扁平依赖的特性。但是我在项目打包的时候发现这些文件无法压缩到zip文件中,具体现象是,打包成zip文件之后,解压时,提示:不是有效的zip文件。进而导致无法运行nw程序。
发布nw项目的时候,如何处理依赖文件?不能将这9000多个文件一起放到项目中吧?
发布nw项目,针对依赖的最佳实践是什么?
更新
此问题缘起:使用nw.js开发桌面软件,在package.json中声明依赖,使用淘宝镜像cpnm install命令安装了依赖到node_modules目录,发布时(使用7zip压缩发布),发现项目无法运行,具体现象是运行打包后的exe文件,弹出的是默认的nw窗口。
试图解压zip文件时,发现提示zip文件无效。换用快压来压缩文件发现node_modules目录无法压缩,这才意识到虽然使用7zip创建出了zip文件,但是没有发现7zip忽略了压缩modules目录时,出现的错误。
刚刚解决了问题:使用npm install(不是cnpm install)重新安装modules,解决问题。
结论:
- 以后不用淘宝镜像了,既然有vpn还是使用npm命令吧....
- 这是一个伪问题
使用npm命令代替cnpm命令,cnpm命令下载的modules文件将导致无法zip。