Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Express.js旁边的React路由器_Javascript_Node.js_Reactjs_Express_React Router - Fatal编程技术网

Javascript 使用Express.js旁边的React路由器

Javascript 使用Express.js旁边的React路由器,javascript,node.js,reactjs,express,react-router,Javascript,Node.js,Reactjs,Express,React Router,这就是我试图实现的目标: /api/*由Express.js处理 由React路由器Dom处理的任何其他内容 我已经使用CreateReact应用程序创建了我的应用程序并弹出。由于某些原因,我的express服务器无法正常工作: const express = require("express"); const path = require("path"); const port = 3000; const app = express(); app.get("*", (req, res)

这就是我试图实现的目标:

  • /api/*由Express.js处理
  • 由React路由器Dom处理的任何其他内容
我已经使用CreateReact应用程序创建了我的应用程序并弹出。由于某些原因,我的express服务器无法正常工作:

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")));
});
当我执行
warn build
(默认情况下执行
节点脚本/build.js
时,创建react应用程序会生成我的应用程序,然后我启动express服务器并导航到它,它只是显示一个空白页面,控制台输出:

解释为样式表但使用MIME类型text/html传输的资源:“”


main.936d1f48.js:1未捕获的语法错误:意外标记看起来像是您在
index.html
中指向js文件的路径不正确(或者js文件不存在)。我在尝试指向您的CSS文件的路径不正确之前遇到过此错误。上次我是如何解决这个问题的,我将我的本地主机地址粘贴到我的css文件在url中的位置,直到找到它。一旦我找到了它,我就将路径调整到它所指向的位置并进行了修复。我没有设置我的路径,默认情况下它们与create react应用程序一起使用,默认情况下应该可以工作。。。我还更新了帖子,我不确定主页属性是否是你如何更改路径的。你希望所有内容都重定向到SPA中的索引,当然不是资产。保留通配符路由并在通配符路由之前使用装载文件夹。在静态文件夹中找不到的所有内容都将被捕获并重定向到索引。结果是“express.static(\uuu dirname+“./build”)”是问题所在,路径属性没有放在一起,所以我使用了path.resolve(path.join(\uu dirname,../build)),它成功了。你的评论也很有效,谢谢!