Node.js 在Netlify上部署我的GatsbyJS静态站点时,如何在执行build命令之前运行npm脚本?

Node.js 在Netlify上部署我的GatsbyJS静态站点时,如何在执行build命令之前运行npm脚本?,node.js,git,netlify,Node.js,Git,Netlify,我有一个名为clone或pull的npm脚本,我想在Netlify运行build命令部署使用GatsbyJS构建的静态站点之前运行该脚本(通过npm run clone或pull) 顺便说一句,因为我的静态站点是使用GatsbyJS构建的,所以构建命令Netlify在默认情况下运行的是gatsbybuild但是,我希望Netlify在执行gatbsy build之前执行npm run clone或pull 那么,在Netlify上部署GatsbyJS静态站点时,如何在执行build命令之前运行n

我有一个名为
clone或pull
的npm脚本,我想在Netlify运行build命令部署使用GatsbyJS构建的静态站点之前运行该脚本(通过
npm run clone或pull

顺便说一句,因为我的静态站点是使用GatsbyJS构建的,所以构建命令Netlify在默认情况下运行的是
gatsbybuild
但是,我希望Netlify在执行
gatbsy build
之前执行
npm run clone或pull

那么,在Netlify上部署GatsbyJS静态站点时,如何在执行build命令之前运行npm脚本呢



仅供参考-我想执行
npm run clone或pull
来克隆我的可重用资产repo,它包含我的gatbsyjs静态站点所需的必要sass/image/font资源。

在Netlify上部署站点时,我在执行build命令(在我的情况下是
gatbsy build
)之前,已经知道了如何运行自定义npm脚本。但是在我展示我的解决方案之前,这里是我的
包.json的一个片段:

GatsbyJS已经创建了一个名为
build
的npm脚本,该脚本运行
gatsby build
命令:

package.json:

  "build": "gatsby build",
  "clone-or-pull": "node clone-or-pull-assets.js"
[build]
  command = "npm run build"
因此,我的解决方案如下:

  • 创建执行克隆或拉取的
    npm脚本的
    prebuild
    npm脚本
  • 创建
    netlify.toml
    文件,指定运行
    npm run build
    而不是
    gatsy build
    (因为
    npm run build
    将运行
    prebuild
    脚本,然后运行
    gatsby build
  • 1.在package.json中创建
    prebuild
    npm脚本

      "prebuild": "npm run clone-or-pull",
      "build": "gatsby build",
      "clone-or-pull": "node clone-or-pull-assets.js"
    
    2.创建
    netlify.toml
    以运行
    build
    脚本:

      "build": "gatsby build",
      "clone-or-pull": "node clone-or-pull-assets.js"
    
    [build]
      command = "npm run build"
    

    我想在发送部署之前,我需要使用git子树创建我的私有回购协议的副本。我试图避免使用子树/子模块,但我认为这可能是一种方法。