在 webpack npm 脚本中启动文件之前检查文件是否存在

G. *_*rov 5 windows node.js npm webpack npm-scripts

我有一个像这样的 package.json :

...
  "scripts": {
    "dev": "webpack --config webpack.dev.config.js --mode development --progress --colors",
    "postdev": "if (Test-Path \"./postdev.sh\" ) { echo \"file exists\"; ./postdev.sh }"
  },
...
Run Code Online (Sandbox Code Playgroud)

如何检查文件“postdev.sh”是否存在,然后在 NPM 脚本部分启动它?我在终端中运行该命令并且运行正常,但如果我尝试启动该 npm 脚本,它会显示“意外出现:“./postdev.sh”。”

nel*_*e65 6

您可以使用path-exists-cli跨平台工具 package 来检查文件/目录是否存在,并使用&&||after 分别运行下一个命令(如果存在或不存在):

{
  "scripts": {
    // other scripts...
    "postdev": "path-exists ./postdev.sh && echo 'Exists' || echo 'Does not exists'"
  }
}
Run Code Online (Sandbox Code Playgroud)


小智 3

在 macos 或 linux 上尝试这个postdev

"postdev": "test -f ./postdev.sh && echo 'file exisits' && ./postdev.sh",
Run Code Online (Sandbox Code Playgroud)