npm run build,如果成功则提交 [重复]

Posted

技术标签:

【中文标题】npm run build,如果成功则提交 [重复]【英文标题】:npm run build and if success then commit [duplicate] 【发布时间】:2020-09-14 10:49:21 【问题描述】:

我需要如何设置 package.json 来检查构建是否成功,然后将更改添加并提交到 git?

当前版本:

"build": "react-scripts build"

【问题讨论】:

查找 Husky,简单的包,允许您设置预提交命令 考虑做类似this answer 这样你运行的事情,例如npm run buildAndCommit -- "commit message for a new build" - 您将 git commit 消息作为参数传递给 npm run ... 命令。 @RobC 是的,tnx 这么多 【参考方案1】:

答案在这里:

  "scripts": 
    "build": "react-scripts build",
    "build-and-commit": "node -e \"const mssg = process.argv[1]; require('child_process').execSync('npm run build && git add . && git commit -m \\\"' + mssg + '\\\"',  stdio:[0, 1, 2] )\""
  

运行方式:

$ npm run build-and-commit -- "commit message"

或:

$ yarn build-and-commit -- "commit message"

完整答案在这里:Pass git commit message to npm script and append to predefined string

转至RobC

【讨论】:

在我之前提供的this solution 中,在npm 脚本中使用node -e \" ... \" 的原因是因为该问题想在给定的git 消息前面加上BUILD - 。鉴于您的答案中的变体并没有这样做,因此没有必要在您的 npm 脚本中使用 node -e \" ... \" 。相反,您可以将您的 npm 脚本定义为; "build-and-commit": "npm run build && git add . && git commit -m" - 然后使用相同的命令运行它 @RobC 得到错误“错误:开关 `m' 需要一个值” npm run build && git add 。 && git commit -m && git push -u origin staging 当然可以,因为您已将复合命令更改为npm run build && git add . && git commit -m && git push -u origin staging,但是,我指的是您回答中的示例,其中不包括&& git push -u origin staging 部分。跨度> 是的,我知道,对于您在 cmets 中编写的复合命令,无法简化它。我写的关于简化它的第一条评论是指您的答案中提供的示例命令。

以上是关于npm run build,如果成功则提交 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

npm run build:s-s-r 在 Angular 8 中不起作用

reactjs - 在 npm run build 得到 Uncaught TypeError: Super expression must be null or a function [重复]

npm run build 打包后,如何运行在本地查看效果

npm run build 打包后,如何运行在本地查看效果

Nodejs:npm run build之后,distindex.html页面在火狐中可以正常显示登录页面并登录成功,在Chrome中可以正常显示登录页面,登录失败

linux vue项目+npm run build + nginx