【问题标题】:Start the ReactJS App without port启动没有端口的 ReactJS 应用程序
【发布时间】:2017-05-23 18:04:36
【问题描述】:

我正在使用 create-react-app 开发 ReactJS 应用程序。

npm start 和 npm run build 应用程序工作正常,应用程序在端口号 4000 或 pushstate-server build 在端口 9000 中运行,问题是我需要在没有端口号的情况下运行构建应用程序像http://sample/home/ 这样的公共网址,当我直接浏览 build/index.html 时,它会正确显示主页,但路由不像在端口中那样工作,所有的 css 和资产都显示未找到。

【问题讨论】:

    标签: reactjs npm react-native bundle react-router


    【解决方案1】:

    将端口改为80。

    这是 HTTP 请求的默认值,因此,当您尝试访问时
    www.google.com
    事实上你正在访问
    www.google.com:80

    【讨论】:

    • 我将端口设置为80,结果和上面一样,首页正常,其余页面显示404 Not found
    • 你需要一个http服务器来处理你的路由请求,你不能简单地打开index.html。这就是pushstate-server 所做的。如果您无法在生产中使用它,请转到基于哈希的历史记录。
    • @VenkateshSomu 这可能是您遇到与正在使用的端口无关的另一个问题的线索。您的浏览器将具有带有 javascript 控制台的开发人员工具,查看它是否输出任何错误。
    • @Gimby ,虽然使用 pushstate 服务器或 http 服务器运行良好,但我需要在没有这样的服务器的情况下运行,需要在公共 url 中托管完成的应用程序。
    【解决方案2】:

    您必须使用网络服务器而不是 Webpack Dev Server 为您的应用程序提供服务,后者是一种开发工具,不是为生产而设计的。

    在此处查看我的答案以获取更多信息:How can I serve a reactjs app through https?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-31
      • 2018-01-17
      • 1970-01-01
      • 1970-01-01
      • 2018-02-20
      • 2015-10-09
      • 2010-12-15
      • 2017-04-10
      相关资源
      最近更新 更多