我使用express for api,我有一个名为app的文件夹,另一个名为server的文件夹。 app是客户端应用程序,使用create-react-app作为样板,而服务器是api的express.js应用程序。
在我的服务器的app.js中
app.get("*", function (req, res) {
res.sendFile(path.resolve(__dirname, '../app/build/index.html'));
})
然后我调用响应中得到You need to enable JavaScript to run this app.
的任何api端点,我很困惑,出了什么问题?
答案 0 :(得分:1)
在构建目录中,您仅拥有index.html的更多文件。您还拥有build / js / main.buildNumber.js和build / css / main.buildNumber.css。 因此,当您的前端向https://yourdomain.com/css/main.buildNumber.js发送请求时,它将返回index.html 非 main.js。
您可以使用express.static静态地提供构建文件夹的内容
app.use('/', express.static(__dirname + '/'));
或者您可以查看“服务”节点模块来托管您的应用程序。这将与react-router一起很好地工作。先依次npm i -g serve
和cd build
然后serve . --single -p 5000
。这将在端口5000上为您的应用程序服务。
答案 1 :(得分:-3)
检查浏览器中是否启用了JavaScript。
在Google Chrome浏览器中,转到“设置”>“高级设置”>“内容设置”,然后查看是否已启用JavaScript。