我正在开发我自己的gatsby.js主题(实际上我已经分叉并修改了另一个主题,然后为它创建了新的npm包)。当我在node_modules中更改任何主题文件时,例如footer.js,我在运行gatsby develop
时看不到任何更改,直到我删除gatsby clean
缓存。在过去(2年前),当我第一次修改我的npm模块时,所有的东西都在更新。我还必须提一下,我已经清理了node_modules,并将yarn的所有依赖项更新为最新可用版本。
例如,我要做这样的修改:
<p className="text-lead"><b>Last modified</b> {lastUpdate}</p>
<p className="text-lead"><b>Last change</b> {lastUpdate}</p>
gatsby develop
检测到变化:
success onPreExtractQueries - 0.004s
success extract queries from components - 0.128s
success write out requires - 0.003s
success Re-building development bundle - 0.198s
success Writing page-data.json and slice-data.json files to public directory - 0.014s - 0/1 73.40/s
但是我看到浏览器窗口没有变化,直到我运行gatsby clean
。
这是我的gatsby-config.js
在根项目文件夹的一部分:
...
plugins: [
{
resolve: "@arturthemaslov/gatsby-theme-intro-maslov",
options: {
basePath: pathPrefix,
contentPath: "content/",
showThemeLogo: false,
theme: "gh-inspired",
},
},
...
同时,当运行gatsby develop:
时,我注意到这个警告。warn The @arturthemaslov/gatsby-theme-intro-maslov plugin has generated no Gatsby nodes. Do you need it? This could also suggest the plugin is misconfigured.
也许这与这个问题有关?我也试过把主题文件放到根src文件夹,但是没有运气。
它不工作的原因是因为你不应该修改node_modules
目录中的任何内容,当你:
我还必须提到我已经清理了node_modules并更新了所有依赖于yarn的最新可用版本。
你刚刚恢复或更新了node_modules
目录下的每个依赖项,如果你更新到最新的,你需要检查每个依赖项,看看你是否有任何冲突,你可能会。
请注意,您还使用了盖茨比的主题"^2.20.12";而盖茨比现在的版本是"^5.2.0"。
你还在评论中提到,你更新了NPM包,而存储库源代码已经过时了几年。不要认为这是一个好方法,你应该考虑构建一个发布并使用Github Action NPM Publish