我是NextJS的新手,并且使用它来创建个人博客。根据NextJS教程,静态资产应放在 / public 顶级文件夹中。我可以将 / public 文件夹中的图像和.css很好地加载到我的帖子中,但是在将自定义JS插入到我的帖子时遇到了问题。更准确地说,我可以看到在检查页面时似乎在每个帖子中都插入了脚本,但是直到手动刷新页面后,脚本才被执行。
我使用src属性创建了一个自定义脚本组件,以加载自定义javascript,并且我将其用于每个帖子页面,如下所示:
<Layout>
<Head>
<link rel="stylesheet" href="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.3.1/build/styles/vs.min.css" />
<link rel="stylesheet" href="/custom.css" type="text/css" />
</Head>
<div className="post-content" dangerouslySetInnerHTML={{ __html: post.content}} />
<Script src="/highlight.pack.js" />
<Script src="/init.js" />
</Layout>
因此,在上面的示例中,如果我在网站上导航并单击特定的帖子链接,则该帖子将加载,但上面包含的脚本将不会执行(自定义CSS不会发生这种情况) 。如果我重新加载页面,脚本将运行良好。因此问题似乎出在页面之间导航时。
我该如何解决?
谢谢。