我有一个名为clone-or-pull
的npm脚本,我想在Netlify运行build命令部署使用GatsbyJS构建的静态站点之前运行(通过npm run clone-or-pull
)。
顺便说一句-由于我的静态网站是使用GatsbyJS构建的,因此Netlify的构建命令默认运行为gatsby build
。 但是,我希望Netlify在执行npm run clone-or-pull
之前先执行gatbsy build
。
那么在Netlify上部署GatsbyJS静态站点时,如何在执行构建命令之前运行npm脚本?
仅供参考-我想执行npm run clone-or-pull
来克隆我的可重用资产回购,其中包含我的gatbsyjs静态站点所需的必要sass / image / font资源。
答案 0 :(得分:0)
在Netlify上部署站点时,我想出了如何在执行构建命令(本例中为gatbsy build
)之前运行自定义npm脚本的方法。但是在展示解决方案之前,这里是我的package.json
的摘要:
GatsbyJS已经创建了一个名为build
的npm脚本,该脚本运行gatsby build
命令:
package.json:
"build": "gatsby build",
"clone-or-pull": "node clone-or-pull-assets.js"
这是我的解决方法:
prebuild
npm脚本的clone-or-pull
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]
command = "npm run build"