nw.js下载的modules文件无法zip?

yanwushu
  • 1.1k

找到了类似问题: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,解决问题。

结论:

  1. 以后不用淘宝镜像了,既然有vpn还是使用npm命令吧....
  2. 这是一个伪问题
回复
阅读 3.2k
4 个回答
✓ 已被采纳

使用npm命令代替cnpm命令,cnpm命令下载的modules文件将导致无法zip。

你用的依赖库还有依赖库,以及他们的依赖库的依赖库,以及他们的依赖库的依赖库的依赖库......
不过你发布的时候不用担心,他们会被打包,用不到的不会被打包进去的。

IceFour
  • 5
新手上路,请多包涵

请问你依赖的node_modules模块是怎么打包的呢?

你知道吗?

宣传栏