将React Router与Express.js一起使用

时间:2018-06-28 00:23:21

标签: javascript node.js reactjs express react-router

这是我要完成的工作:

  
      
  • / api / *由Express.js处理
  •   
  • React Router Dom处理的其他任何事情
  •   

我已经使用create-react-app创建了我的应用程序并弹出。由于某些原因,我的快递服务器无法正常工作:

const express = require("express");
const path = require("path");

const port = 3000;
const app = express();

app.get("*", (req, res) => {
    res.status(200).sendFile(path.resolve(path.join(__dirname, "../build/index.html")));
});

当我执行yarn build(执行node scripts/build.js默认情况下与create-react-app一起执行)时,它将构建我的应用程序,然后启动快速服务器并导航到它,它只是显示为空白控制台输出的页面:

  

资源被解释为样式表,但是以MIME类型text / html传输:“ http://localhost:3000/static/css/main.766345d1.css”。

     

main.936d1f48.js:1未捕获的语法错误:意外的令牌<< / p>

当我在homepage中未设置我的package.json属性时,就会发生这种情况。

当我将其设置为./时,会发生以下情况:

  

资源解释为样式表,但以MIME类型传输   text / html:“ http://localhost:3000/static/css/main.766345d1.css”。

     

manifest.json:1清单:行:1,列:1,意外令牌。

     

main.5e4ef579.js:1未捕获的语法错误:意外的令牌<< / p>

显然,任何呼叫都被重定向以返回index.html。我该怎么办?

Pst。我是react-router的初学者,尤其是express.js。

编辑:如果有帮助,这是我的build目录结构: enter image description here

另外,请注意,我是通过构建然后运行快递服务器来运行应用程序的,即使我不确定那是否应该如此。

0 个答案:

没有答案