假设我用npm install来安装项目包。Json,用于安装模块。过了一段时间,我看到我不需要某些特定的模块,并从package.json中删除其依赖项。然后我从包中删除一些其他模块。Json,因为它们不再被需要,其他的被替代。

现在我想清理node_modules文件夹,以便只有模块在包中列出。Json保留在那里,其余的必须离开,类似于NPM清理。我知道我可以手动删除它们,但希望有一些很好的准备使用糖的功能。


当前回答

从6.5.0版本开始,npm支持clean-install (ci)命令来硬刷新所有包。

请参阅参考资料:

npm 6。x: npm-ci | npm Docs。 npm 7。x: npm-ci | npm Docs。 npm博客档案:为更快、更可靠的构建引入npm ci。

其他回答

我想你在找npm西梅

NPM prune [<name> [<name…]] 该命令删除“无关的”包。如果包名为 提供时,则只有与提供的名称之一匹配的包才会存在 移除。 列表上没有列出的无关包 父包的依赖项列表。

查看文档:https://docs.npmjs.com/cli/prune

如果您在您的项目中使用YARN,请在您的包中添加以下行。Json脚本,并运行yarn clean在项目终端上执行

"clean": "rm -rf yarn.lock node_modules ios/Podfile.lock && yarn install && cd ios && pod install && pod update && cd .."

Rimraf是一个在windows下模拟Linux命令[rm -rf]的包。这对于跨平台支持非常有用。安装命令行:

npm install rimraf -g

你试过npm西梅吗?

它应该卸载包文件中没有列出的所有内容

https://npmjs.org/doc/cli/npm-prune.html

我在package.json中添加了几行:

"scripts": {
  ...
  "clean": "rmdir /s /q node_modules",
  "reinstall": "npm run clean && npm install",
  "rebuild": "npm run clean && npm install && rmdir /s /q dist && npm run build --prod",
  ...
}

如果你只想清理,你可以使用这个rimraf node_modules或rm -rf node_modules。

它运行正常