npm - npm/yarn/package.json 世界中惯用的“清理”任务
问题描述
大多数构建自动化工具都有约定或内置的clean
任务/目标(GNU Make、SCons、Ant、Gradle)。
现代 JS 工具 ( npm
, yarn
, npx
) 倾向于创建目录:
build/
dist/
node_modules/
我找不到有关删除build
/dist
或node_modules
dirs 的命令名称的任何策略/用法。
是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是答案。
解决方案
我建议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
.
推荐阅读
- laravel - Laravel Blade 模板 - 将 php 内置函数或 laravel 助手放入 yield
- processing - 没有出现在画布上的圆圈
- reactjs - 尝试使用 axios 和 React 钩子从 API 中删除
- python - 正则表达式排除方括号内的所有内容,但不排除大括号内的方括号内容
- excel - 数据透视表帮助 - 选择以某个数字开头的所有帐户
- javascript - TypeError:无法读取未定义的属性“包含”(从数据库中获取反应)
- javascript - 反应js上的键盘事件onKeyPress
- python - 使用 beatifulsoup 从 html 页面中只选择一个数字
- c# - 带有 MVVM 的自定义控件的 WPF 复杂逻辑
- python - 您如何比较 Python 中以字符串形式编写的数字区间?