如何包含 custom/local Gatsby 插件并在 Netlify 上构建和部署?
How to include a custom/local Gatsby plugin and build and deploy on Netlify?
我有一个使用 Netlify 部署的 Gatsby 生成的网站。
我按照 here 列出的教程以非常相似的方式创建了一个 custom/local 源插件。
自定义插件显然有自己的 package.json
文件,因此需要 npm i
才能在通过根级别导入时正常工作 gatsby-config.js
。
在我的 Netlify 部署中为我的自定义插件安装依赖项的最简单方法是什么?
最简单,我认为你可以指示 yarn(或 npm)将 cd 放入你的插件文件夹,然后 运行 安装。
在 netlify 中,您可以将默认构建脚本从默认 gatsby build
更改为 yarn build
(或 npm 等价物)。
然后,在您的根 package.json 中,在 scripts
中添加:
"install-plugin": "cd ./plugins/your-plugin-name && yarn",
"build": "yarn install-plugin && gatsby build"
当您有多个自定义插件时,这不是最优雅的解决方案;对于这种情况,我认为自定义 post 安装脚本可以工作。
或者,您也可以将插件的所有依赖项直接添加到根目录 package.json!
盖茨比与纱线配合得很好。 Netlify 支持使用纱线,因此您可以使用选项 来设置纱线工作区。
Yarn 工作区具有额外的优势,允许您稍后在准备好使用它们时开始在 Gatsby 中创建主题。 Yarn 将使用配置来维护插件的 node_modules
link,就像您使用 npm 安装它一样。以后,您可以随时将您的插件发布到 npm 并将其用作其他站点的模块。
- 将您的 Gatsby 站点移动到它自己的目录中(例如
gatsby-site
)
- Create/move 源插件到它自己的位置(例如
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 知道您正在使用 yarn,并会为您安装和配置 yarn。
注意: 如果有,请确保将 netlify.toml 保留在根位置。同时将部署路径更改为 gatsby-site/public
目录。更改构建命令以使用工作区(即 yarn workspace gatsby-site build
)。在本地测试构建命令应该证明一切正常。
我有一个使用 Netlify 部署的 Gatsby 生成的网站。
我按照 here 列出的教程以非常相似的方式创建了一个 custom/local 源插件。
自定义插件显然有自己的 package.json
文件,因此需要 npm i
才能在通过根级别导入时正常工作 gatsby-config.js
。
在我的 Netlify 部署中为我的自定义插件安装依赖项的最简单方法是什么?
最简单,我认为你可以指示 yarn(或 npm)将 cd 放入你的插件文件夹,然后 运行 安装。
在 netlify 中,您可以将默认构建脚本从默认 gatsby build
更改为 yarn build
(或 npm 等价物)。
然后,在您的根 package.json 中,在 scripts
中添加:
"install-plugin": "cd ./plugins/your-plugin-name && yarn",
"build": "yarn install-plugin && gatsby build"
当您有多个自定义插件时,这不是最优雅的解决方案;对于这种情况,我认为自定义 post 安装脚本可以工作。
或者,您也可以将插件的所有依赖项直接添加到根目录 package.json!
盖茨比与纱线配合得很好。 Netlify 支持使用纱线,因此您可以使用选项 来设置纱线工作区。
Yarn 工作区具有额外的优势,允许您稍后在准备好使用它们时开始在 Gatsby 中创建主题。 Yarn 将使用配置来维护插件的 node_modules
link,就像您使用 npm 安装它一样。以后,您可以随时将您的插件发布到 npm 并将其用作其他站点的模块。
- 将您的 Gatsby 站点移动到它自己的目录中(例如
gatsby-site
) - Create/move 源插件到它自己的位置(例如
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 知道您正在使用 yarn,并会为您安装和配置 yarn。
注意: 如果有,请确保将 netlify.toml 保留在根位置。同时将部署路径更改为 gatsby-site/public
目录。更改构建命令以使用工作区(即 yarn workspace gatsby-site build
)。在本地测试构建命令应该证明一切正常。