Jen*_*Mok 13 javascript node.js express reactjs
我使用express for my 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'));
})
Run Code Online (Sandbox Code Playgroud)
然后我调用我__CODE__
在响应中得到的任何api端点,我很困惑,出了什么问题?
在构建目录中,除了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 + '/'));
Run Code Online (Sandbox Code Playgroud)
或者您可以查看“服务”节点模块来托管您的应用程序。这将与反应路由器很好地配合。npm i -g serve
然后cd build
然后serve . --single -p 5000
。这将在端口 5000 (http://localhost:5000) 上为您的应用程序提供服务。
归档时间: |
|
查看次数: |
6338 次 |
最近记录: |