【问题标题】:react-router tutorial not working on macreact-router教程在mac上不起作用
【发布时间】:2017-03-05 13:02:25
【问题描述】:

我试图在 react tutorials 之后进入 react 并让它工作,但是当我开始进入下一步并使用 react-路由器this tutorial我每次都失败了!

当我按照说明进行操作时,一切似乎都正常,终端上没有错误,但我没有看到在我的项目文件夹和 localhost 中创建了任何 bundle.js 文件: 8080 在控制台中显示以下错误以外的任何内容:

GET http://localhost:8080/net::ERR_EMPTY_RESPONSE

我尝试在本地和全局安装 npm,但没有一个成功,与 webpack 相同。我还尝试使用 webpack 运行服务器,代码 webpack ./index.js bundle.js 也不起作用,并在终端中引发以下错误:

多主程序中的错误 找不到模块:错误:无法解析 /Users/jafari/Desktop/React-Toturial/react-router-tutorial/lessons/01-setting-up 中的模块“bundle.js” @多主

虽然此代码创建 bundle.js 文件,如果我通过本地主机上的 MAMP 运行此文件夹,我可以在更改时看到教程的所需内容App.js 中的任何内容在我删除 bundle.js 并在终端中再次执行我之前提到的过程时才会生效,同时仍然看到以下错误在控制台中:

bundle.js:49 未捕获的错误:找不到模块“bundle.js”

如果我不删除 bundle.js,我会在控制台中收到此错误:

警告:React 尝试在容器中重用标记,但校验和无效。这通常意味着您正在使用服务器渲染,并且在服务器上生成的标记不是客户端所期望的。 React 注入了新的标记来补偿哪些工作,但是您已经失去了服务器渲染的许多好处。相反,找出为什么在客户端或服务器上生成的标记不同:(client) <div data-reactid="(server) <div data-reactid="

有什么想法吗?或者关于如何使用 react-router 的任何建议或教程?

【问题讨论】:

  • 我无法复制您的错误,但是您是否尝试将端口 8080 更改为其他端口?此外,您没有看到 bundle.js,因为 npm start 正在使用 webpack-dev-server
  • 是的,我做到了,尽管在执行npm start 后它会提示转到localhost:8080
  • 这很奇怪...你是如何更改端口的?您是否执行了命令 webpack-dev-server --port 3000 --inline --content-base ? (你可以用那个命令替换你包 json 中的 npm start 脚本)
  • 哦,成功了!更改端口并使用 webpack-dev-server 而不是 npm start 运行项目,如果您发表评论作为答案,我会很乐意接受,再次感谢

标签: reactjs npm webpack react-router


【解决方案1】:

尝试使用命令webpack-dev-server --port 3000 --inline --content-base将端口更改为其他内容

您还可以将 package.json 中的 npm start 脚本替换为该行。

【讨论】:

    猜你喜欢
    • 2022-01-08
    • 2018-08-21
    • 2021-02-25
    • 2018-07-31
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 2016-12-05
    相关资源
    最近更新 更多