Astro:无法使用React(Next.js)加载资源:net::ERR_CONNECTION_REFUSED.不,它



所以我有一个Astro项目,集成了vue、svelte、react和tailwindcss。

我突然得到错误:加载资源失败:net::ERR_CONNECTION_RESET,加载资源失败,net::ERROR_CONNECTON_REFUSED,还有一个加载资源失败。这是下面的代码。

index.astro:

---
import Layout from "../layouts/Layout.astro";
import Navbar from '../components/React/Navbar'
---
<style>
</style>
<Layout>
<Navbar />
</Layout>

Navbar.jsx:

import React from 'react'
import { BrowserRouter, Routes, Link} from 'react-router-dom'
import Home from './Home'
import About from './About'
import Blogs from './Blogs'
const Navbar = () => {
return (
<>
<BrowserRouter>
<Routes>
<Link to='/'>
<p>Home</p>
<Home />
</Link>
<Link to='/about'>
<p>About</p>
<About />
</Link>
</Routes>
</BrowserRouter>
</>
)
}
export default Navbar

About.jsx、Blog.jsx和Home.jsx有以下代码:

import React from 'react'
const Component = () => {
return (
<>

</>
)
}
export default Component

有什么办法解决这个问题吗?

错误修复

我复制了你的例子,我修复了的两个错误

  • Navbar.jsx中删除未使用的import Blogs from './Blogs',这是错误的文件名,因为您提到这些文件是不带"s"的Blog.jsx
  • 第二个错误是error document is not defined修复了index.astro的此更新,添加了client:only指令以确保Astro服务器生成步骤不会尝试执行使用浏览器"文档"API的组件
---
import Layout from "../layouts/Layout.astro";
import Navbar from '../components/React/Navbar'
---
<style>
</style>
<Layout>
<Navbar client:only/>
</Layout>

注1:在修复了这两个错误之后,我可以在不复制任何net::ERR_CONNECTION_REFUSED错误的情况下成功构建。

如何前进

正如你所注意到的,由于环境因素的多样性,不可能重现准确的错误:

  • package.json和主要使用的Astro版本
  • npm、纱线或pnpm的使用
  • 对应的锁定文件
  • astro.config.js
  • 使用的节点版本

。。。以及基本上使每个环境都不同的一切。共享git repo是向前迈出的一大步,共享VM(StackBliz、Codesandbox、Gitpod(也有助于进一步降低可变性。

解决方案建议

为了加快问题的解决,当再现错误的示例是最小的时,总是值得注意的,并且大多数时候,当创建这种最小的示例时,错误只是消失了。

另请参阅:https://github.com/withastro/astro/tree/main/examples

相关内容

  • 没有找到相关文章

最新更新