如何在构建之前使用 npm 删除文件夹

Posted

技术标签:

【中文标题】如何在构建之前使用 npm 删除文件夹【英文标题】:How to remove folder with npm before build 【发布时间】:2018-08-09 15:36:00 【问题描述】:

我有一个脚本 "build": "rimraf dist webpack --progress --config webpack/prod.js", 但实际上,它删除的不是 dist,而是 webpack 文件夹中的所有文件。但我只需要删除 dist

Structure:
 -dist
 -webpack
     -somefiles.js

【问题讨论】:

你可以试试这个rimraf dist; webpack --progress --config webpack/prod.js 【参考方案1】:

Npm 脚本与直接在 bash 中运行命令基本相同。 在您的情况下,您正在运行rimraf dist webpack,这意味着 webpack 是 rimraf 的参数。 要分隔命令,您可以使用;&,如果您想确保第一个命令在运行第二个命令之前成功运行,请使用&& 所以你的脚本应该是这样的。

rimraf dist && webpack --progress --config webpack/prod.js

【讨论】:

【参考方案2】:

快速简便的跨平台解决方案。不需要任何库

package.json 中添加一个脚本,该脚本使用node.js api 通过内联执行来执行

package.json脚本中添加以下代码


  ...
  "scripts": 
     "rmdir": "node -e \"var fs = require('fs'); process.argv.slice(1).map((fpath) => fs.rmdirSync(fpath,  recursive: true )); process.exit(0);\"",
  


然后在命令窗口如下执行

npm run rmdir -- folder1 folder2

【讨论】:

【参考方案3】:

npm install --save-dev del-cli

“脚本”: “预构建”:“del-cli --force ../folder-to-delete” 当您想删除父文件夹时,请注意“--force”

【讨论】:

以上是关于如何在构建之前使用 npm 删除文件夹的主要内容,如果未能解决你的问题,请参考以下文章

如何删除npm包

vue组件库用@vue/cli构建typescript版UI库 -安装常用npm包配置脚本

如何从 mac 中完全删除 NPM 包?

如何在 Windows 7 中删除 git 本地 repo 文件夹

Mac电脑如何彻底删除node

npm:使用“npm 卸载”与仅删除文件夹