首页 > 解决方案 > npm/yarn/package.json 世界中惯用的“清理”任务

问题描述

大多数构建自动化工具都有约定或内置的clean任务/目标(GNU Make、SCons、Ant、Gradle)。

现代 JS 工具 ( npm, yarn, npx) 倾向于创建目录:

build/
dist/
node_modules/

我找不到有关删除build/distnode_modulesdirs 的命令名称的任何策略/用法。

rm -rf build规范清理吗?

是否有一个广泛使用的名称,例如“干净”:

  "scripts": {
    "prebuild": "npm run generate-build-version",
    "prestart": "npm run generate-build-version",
    "start": "react-scripts start",
    "build": "react-scripts build",
    "clean": "rm -rf build/"
  }

请注意,这rm -rf不是跨平台的(你好 Windows!),我在这里需要现代 JS 构建平台的一些帮助......我不确定https://www.npmjs.com/package/clean-webpack-plugin是答案。

标签: npmyarnpkg

解决方案


我建议rimraf用作跨平台工具来清理文件夹及其内容:https ://www.npmjs.com/package/rimraf 。(它实际上是命令的跨平台替代方案rm -rf。)

我会将它安装为开发依赖项npm install rimraf --save-dev。然后在package.json类似的创建干净的脚本

"scripts": {
  "clean": "rimraf build"
}

上面的例子被执行npm run clean并删除了build文件夹。我认为clean脚本的命名很好,这些脚本最常见的命名为clean.


推荐阅读