减less用于生产的node_modules的大小

我创build了node_modules,用于在ngrok的帮助下从本地主机上载addon到在线网站,并在CommandPrompt中使用npm install 。 但创build的node_modules文件夹大小为78mb。 在这种情况下,我必须通过删除不需要的文件夹来缩小文件大小,所以我在网上冲浪,并得到了两个build议,因为减小文件大小可能是有效的,它们是:使用– 生产模式 ,另一种使用收缩包装

作为第一步,我使用命令npm install –productionnpm install –only = production(如下所示): 如何防止为Node.js(package.json)安装“devDependencies”NPM模块? ,但我没有看到文件夹大小的任何变化。

然后介绍如何使用shrinkwrap缩小本网站给出的尺寸,并尝试使用: https : //docs.npmjs.com/cli/shrinkwrap ,但没有成功。

另外我在这里提到: https : //www.npmjs.com/package/modclean ,使用命令modclean -n默认:安全我得到了10-11mb减less。

但是,我仍然在node_modules中有大量不需要的文件夹。 我已经在package.json中指定了一些需要的依赖项,如下所示,

"dependencies": { "atlassian-connect-express": "2.0.0", "body-parser": "^1.14.2", "compression": "^1.6.0", "cookie-parser": "^1.4.0", "errorhandler": "^1.4.2", "express": "^4.13.3", "express-hbs": "*", "jugglingdb-sqlite3": "0.0.5", "morgan": "^1.6.1", "static-expiry": ">=0.0.5" } 

我在package.json中给出的依赖很less,但我看到在node_modules中创build了大量文件夹。 我怎样才能减lessnode_modules的大小,还有其他的进程吗?

从NPM v3开始,应用程序中的所有依赖关系都将保留在node_modules的顶层,这使得NPM可以更轻松地删除重复项,并防止在Windows上出现一些令人讨厌的“path太长”错误。

要知道的重要一点是,当我说“应用程序中的所有依赖关系”时,我不只是指package.json那些包 – 所有这些包也都有自己的依赖关系(并且它们的依赖项可能有他们自己的依赖关系等等)。 这就是为什么node_modules总是有这么多文件夹的原因。

作为一个例子, express有28个依赖关系,所以如果这是你安装的唯一的东西,那么在你的node_modules至less有29个文件夹 – 这不需要考虑子依赖关系。

所以,要回答你的问题 – 除了你指定的东西,你不能让你的node_modules更小,因为你正在使用所有这些文件夹! 只是不总是以最直接的方式。