前端项目如何自定义一个脚本命令

你一定很熟悉npm run dev、yarn test这样的命令吧,自定义一个会不会很难?其实超简单~

你会发现这样的命令它们都会在被定义在package.json里:

"scripts": {
        "start": "react-scripts start",
        "build": "react-scripts build",
        "test": "tsc --noemit && eslint src --ext .ts,.tsx",
        "eject": "react-scripts eject"
    }

类似,我们也加一个自己的

"scripts": {
        "start": "react-scripts start",
        "build": "react-scripts build",
        "test": "tsc --noemit && eslint src --ext .ts,.tsx",
        "eject": "react-scripts eject",
        "my-script": "node ./src/myScripts/firstScript.js"
    }

这样,当我们"npm run my-script"或者"yarn my-script"时就相当于在命令行跑"node ./src/myScripts/firstScript.js"。

现在去写firstScript.js的脚本内容

const flag = false // 可以写去做某个处理的结果
if (!flag) {
    console.log('失败')
    process.exit(1)
  }

注意如果是失败状态需要process.exit(1)告诉node该命令以失败告终。此时跑yarn my-script就可看到控制台打印了失败error Command failed with exit code 1.

若flag为true,则可看到控制台打印了✨  Done in 0.15s表示命令正常跑完了。

扩展:

yarn my-script跑多个命令时,可用"&"连接表示同时跑,"&&"表示按顺序跑,或者脚本内容中使用childProcess.execSync('yarn xxx')去跑其他命令。

猜你喜欢

转载自blog.csdn.net/qq_43119912/article/details/127872659