我有一个Gatsby生成的网站,可以使用Netlify进行部署。
我已按照列出的here教程以非常相似的方式创建了自定义/本地源插件。
自定义插件显然具有其自己的package.json
文件,因此在通过根级别npm i
导入时,需要gatsby-config.js
才能正常工作。
在Netlify部署中为自定义插件安装依赖项的最简单方法是什么?
答案 0 :(得分:2)
Gatsby与纱线配合得很好。 Netlify支持使用纱线,因此您具有选项来设置纱线工作区。
纱线工作区具有附加的优势,使您可以在准备使用Gatsby时开始创建主题。 Yarn将使用该配置来维护插件的node_modules
链接,就好像您已使用npm安装该插件一样。以后,您总是可以将插件发布到npm并将其用作其他站点的模块。
gatsby-site
)gatsby-source-someplugin
)yarn workspace gatsby-site add gatsby-source-someplugin
将依赖项添加到源插件的站点中package.json
package.json
{
"name": "gatsby-example",
"version": "0.1.0",
"private": true,
"author": "Your Name <your@email.com>",
"license": "MIT",
"workspaces": [
"gatsby-site",
"gatsby-source-someplugin"
]
}
yarn
并在本地构建yarn.lock
文件,然后将其推送到存储库中。它将使Netlify知道您正在使用纱线,并将为您安装和配置纱线。 注意: :如果有,请确保将netlify.toml保留在根目录中。另外,将部署路径更改为gatsby-site/public
目录。更改构建命令以使用工作空间(即yarn workspace gatsby-site build
)。在本地测试build命令应证明一切正常。
答案 1 :(得分:1)
最简单的是,我认为您可以指示yarn(或npm)cd到您的插件文件夹中,然后运行install。
在netlify中,您可以将默认的构建脚本从默认的gatsby build
更改为yarn build
(或等价的npm)。
然后,在您的根package.json中的scripts
中,添加以下内容:
"install-plugin": "cd ./plugins/your-plugin-name && yarn",
"build": "yarn install-plugin && gatsby build"
当您拥有多个自定义插件时,这不是最优雅的解决方案;对于这种情况,我认为可以使用自定义的安装后脚本。
或者,您也可以将插件的所有依赖项直接添加到根package.json!