在所有其他脚本之前运行 NPM 脚本

twi*_*wiz 5 node.js npm npm-scripts

我正在寻找一种在使用时运行脚本的方法npm run <script-name>

我当前的用例是我想运行一个脚本,以确保在运行任何其他脚本之前正确设置开发环境。

所以,我需要的是这样的:

{
    "run-before-all-scripts": "./setup_environment.sh",
    "scripts": {
        "script_one": "do something",
        "script_two": "do somethingelse"
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想出的最好的办法是:

{
    "scripts": {
        "setup_environment": "./setup_environment.sh",
        "script_one": "npm run setup_environment && do something",
        "script_two": "npm run setup_environment && do somethingelse"
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想出的唯一更好的解决方案是围绕命令创建一个包装器 shell 脚本npm,这样我就可以调用fancy_npm_run <command>. 但这看起来有点混乱。

有更好的方法来处理这个问题吗?

我已经阅读了多个脚本上的 npm script hook,但它并不是在所有脚本之前运行,也没有得到答复。