【发布时间】:2018-07-20 11:31:45
【问题描述】:
我使用“react-scripts”构建了一个反应应用程序。该应用程序在我的本地开发服务器上完美运行,但是当我部署到我的实际服务器时,应用程序似乎找不到正在编译的主要 JS 和 CSS 文件。我都得到404。
以下是可能有帮助的信息。 服务器上的文件位于
ads/build/static/js 和 ads/build/static/css ||分别
我得到的 404 在以下文件中:
https://www.example.com/ads/build/static/css/main.41938fe2.css https://www.example.com/ads/build/static/js/main.74995495.js
这是我的服务器的配置方式:
const express = require('express');
const path = require('path');
const app = express();
const favicon = require('serve-favicon');
//favicon
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.get('/ads', function (req, res) {
app.use(express.static(path.join(__dirname, 'build/static')));
console.log(path.join(__dirname, 'build'));
res.sendFile(path.join(__dirname, '/build/index.html'));
});
app.listen(9000);
在我的 package.json 中,我还包含了 homepage 参数:
"homepage" : "https://www.example.com/ads
更新
当我使用以下路径在服务器本身上运行应用程序时:
dedicated-server-host:9000/static/js/main.74995495.js 正确渲染 JS 文件
我是否缺少某些配置,路由似乎不起作用。请指教。
【问题讨论】:
-
在 HTML 中添加
<base>标记可能会有所帮助? -
尝试将
app.use(express.static...移到路由处理程序之外 -
@YouneL 听起来不错,让我试试
-
@YouneL 似乎没有帮助
标签: node.js reactjs express routing react-scripts