javascript - 未找到捆绑文件

标签 javascript reactjs go webpack

我在后端使用 Golang (Echo),在前端使用 React。当我使用 webpack 打包我的代码时,文件被创建;但是,当我转到 localhost:3000 时,我的控制台出现错误,指出找不到捆绑文件。这是确切的错误消息:GET http://localhost:3000/build/app.bundle.js净::ERR_ABORTED。

这是我的服务器:

func main() {
    env.SetEnvVars()

    e := echo.New()
    e.File("/", "server/static/index.html")

    e.Logger.Fatal(e.Start(os.Getenv("PORT")))
}

这是我的 webpack.config.js 文件:

module.exports = {
  entry: './client/main.jsx',
  output: {
    path: path.resolve(__dirname, 'server/static/build'),
    filename: 'app.bundle.js'
  },
  ...

我的 index.html 文件中的脚本标签是:

<script src="./build/app.bundle.js"></script>

目前这些文件的目录路径是:

/
  server/
    main.go
    static/
      index.html
      build/
        app.bundle.js

如有任何帮助,我们将不胜感激!

最佳答案

echo您设置的服务器仅提供一个路径,即根路径 ( "/" ),通过呈现 index.html 的内容文件。因为您没有为该服务器设置任何其他处理程序,所以对根目录以外的路径的任何请求都将导致 404,包括那些通过脚本和链接标记从索引页面发出的请求,例如; <script src="./build/app.bundle.js"></script> .

能够向类似 "/static/build/app.bundle.js" 的路径提供请求例如,您需要通过注册一个新的处理程序来告诉服务器如何做到这一点。

随着 echo服务器你可以使用它的Static方法。

e.Static("/static", "static")

请记住,如果您使用 ./build/app.bundle.js 等相对路径,您在 html 标签中使用的链接、相应文件在您机器上的位置以及您启动应用程序的位置都很重要。 ,因此 e.Static 的两个参数可能需要与此处的示例有所不同。

还有更多info .

关于javascript - 未找到捆绑文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47261505/

相关文章:

javascript - Bootstrap3 在 IE8 中忽略 col-lg col-md 和 col-sm

javascript - 如何将通过 AJAX 接收到的数据传递到 ASP MVC 部分 View ?

使用CGo调用带有双指针输出参数的C函数

go - 在 Goroutine 中更新值

git - 为 golang 存储库运行预提交 Hook 时出现错误 [命名文件必须是 .go 文件 : ./...]

javascript - Bootstrap 5 Nuxt 动态组件不工作

javascript - 使用 JavaScript 更改 anchor 文本

javascript - ReactJS AXIOS 帖子不起作用

javascript - React 钩子(Hook)需要返回一个值吗?

javascript - 如何将 useState 钩子(Hook)传递给功能组件中的子 Prop