如何在构建之前使用 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 删除文件夹的主要内容,如果未能解决你的问题,请参考以下文章
vue组件库用@vue/cli构建typescript版UI库 -安装常用npm包配置脚本