Javascript 与Next.js SSG的静态链接不一致

Javascript 与Next.js SSG的静态链接不一致,javascript,routes,next.js,Javascript,Routes,Next.js,我创建了一个结构简单的Next.js网站: - pages - articles - [slug].js - index.js - components - nav.js 在nav.js中,我使用next/link以及pages/articles/[slug].js和pages/articles/index.js[UPDATE:NextJS的较新版本不再需要使用as属性。] 首先,href属性不应具有.js文件后缀 示例文件的正确href应该是href=“/artic

我创建了一个结构简单的Next.js网站:

- pages
  - articles
    - [slug].js
    - index.js

- components
  - nav.js

在nav.js中,我使用
next/link
以及
pages/articles/[slug].js
pages/articles/index.js
[UPDATE:NextJS的较新版本不再需要使用
as
属性。]

首先,
href
属性不应具有
.js
文件后缀

示例文件的正确href应该是
href=“/article”
href=“/article/[slug]”

其次,您的
as
属性需要与
href
匹配,因此您不能执行例如

<Link href="/articles/index" as={`/articles/${id}`}>

一旦您纠正了这些问题,它应该会对您更有效。

[更新:新版本的NextJS不再需要使用
as
属性。]

首先,
href
属性不应具有
.js
文件后缀

示例文件的正确href应该是
href=“/article”
href=“/article/[slug]”

其次,您的
as
属性需要与
href
匹配,因此您不能执行例如

<Link href="/articles/index" as={`/articles/${id}`}>

一旦你纠正了这些问题,它应该会更好地为你工作。

发现问题源于Next.js部署的一个怪癖:它不支持将站点放在子文件夹中。因此,
example.com/myNextSite/
会对链接做一些奇怪的事情,而相同的导出站点在root
example.com
中运行良好

问题源于Next.js部署的一个怪癖:它不支持将站点放在子文件夹中。因此,
example.com/myNextSite/
会对链接做一些奇怪的事情,而相同的导出站点在root
example.com
中运行良好

修复此问题,并删除每个生成页面的恼人的.html结尾,我们会有一些东西在这里。。。现在,next.js无法使用。修复此问题,并删除每个生成页面的恼人的.html结尾,我们将在这里看到一些东西。。。现在,next.js无法使用。
<Link href="/articles/[slug]" as={`/articles/${id}`}>