我的gatsby项目具有以下结构:
Project
node_modules
plugins
gatsby-source-cloud // Local Plugin with code from scratch
node_modules
gatsby-node.js
package.json
utis.js
public
src
gatsby-config.js // Here one of the plugins resolve to the local plugin above
gatsby-node.js
package.json
此代码在开发环境中运行完美,但是在部署到github后尝试投入生产(netlify,zeit)时,抛出错误:
嵌套在本地插件中的gatsby-node.js(插件/gatsby-source-cloud/gatsby-node.js)找不到嵌套的node_modules中的一个模块(pugins / gatsby-source-cloud / node_modules)。
答案 0 :(得分:0)
您无法部署Gatsby源代码。您必须运行gatsby build
并部署HTML,CSS和JS的输出。
答案 1 :(得分:0)
我已经排序。我忘了在这里发布解决方案。 只是从根目录而不是从嵌套目录编译嵌套的package.json。 为此,我们需要在脚本中添加更多属性:
"postinstall": "cd plugins/gatsby-source-cloud && npm i"
因此,然后将所有package.json(一个在根目录中,另一个在gatsby-source-cloud中)从根目录中正确编译,然后部署到服务器。