【问题标题】:Idiomatic "clean" task in npm/yarn/package.json worldnpm/yarn/package.json 世界中惯用的“清理”任务
【发布时间】:2021-08-23 10:33:16
【问题描述】:

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

现代 JS 工具(npmyarnnpx)倾向于创建目录:

build/
dist/
node_modules/

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

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 是不是答案。

【问题讨论】:

  • 考虑将shx 包用于跨平台。然后可以将您的 clean 脚本重新定义为 "clean": "shx rm -rf build/"

标签: npm yarnpkg


【解决方案1】:

我建议使用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

【讨论】:

    猜你喜欢
    • 2020-06-13
    • 2017-05-29
    • 1970-01-01
    • 2018-01-25
    • 2020-09-08
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    相关资源
    最近更新 更多