npm install生成太多文件

使用npm install 时发现node_modules里面多了很多的文件夹,看起来特别的乱,之前每个模块都有自己独立的文件夹。

 

查看文档后发现从3.x开始,npm所有的依赖包不再树形结构归类存放,而是全部平行放在node_modules模块文件夹中。

想要像之前一样单独模块单独文件夹的话需要在下载模块的时候执行命令:

npm install xxx --legacy-bundling

 这是npm3升级中最大的改变之一,5.0用的是npm3。

这一改变有什么好吃呢?

首先,npm2.0各个模块中的依赖公共模块没有做到复用,都有自己的一份依赖,这些模块造成很大的冗余。用这种方式的弊端就导致node_modules的目录层级非常的深,以至于在windows下会出现node_modules路径过长而无法删除。

其次,2.0的管理方式不太适合做前端的包管理,比如我用npm安装了两个插件都依赖jquery,npm会把两个版本的jQuery分别下载到对应的插件文件夹中,最后打包的时候会出现两个jQuery的情况。这在node应用中没有问题,但是在前端项目中就不行了,这显然不是我们需要的。npm3中把依赖包扁平化处理就解决了这个问题,它只会在node_modules中保留一个较新的jQuert。

 

疑问:如果把间接依赖包都放到固定文件中,是不是看起来更直观些呢?

你可能感兴趣的:(前端)