【问题标题】:Bundled file is not found找不到捆绑的文件
【发布时间】:2017-11-13 09:55:43
【问题描述】:

我的后端使用 Golang (Echo),前端使用 React。当我使用 webpack 捆绑我的代码时,会创建文件;但是,当我转到 localhost:3000 时,我的控制台中出现错误,说明找不到捆绑文件。这是确切的错误消息:GET http://localhost:3000/build/app.bundle.js net::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

任何帮助将不胜感激!

【问题讨论】:

    标签: javascript reactjs go webpack


    【解决方案1】:

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

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

    使用echo 服务器,您可以使用它的Static 方法来做到这一点。

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

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

    这里还有更多info

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-11
      • 1970-01-01
      • 2021-08-18
      • 2021-06-09
      • 2015-08-18
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多