在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ React + express 發(fā)布后的路由問題

React + express 發(fā)布后的路由問題

寫一簡單的DEMO,create-react-app + Express 后臺訪問數(shù)據(jù)庫,react前端展示。開發(fā)環(huán)境跑得很正常。

服務(wù)端發(fā)布環(huán)境也很簡單,裝node 10.9. ,按照網(wǎng)上方法,npm run build 后,把build 文件夾放到服務(wù)端代碼的public 下。 一并拷貝到到node 10.9 服務(wù)器上,運(yùn)行l(wèi)ocalhost:3001 空白頁,路由不會配置了。

客戶端打包后build目錄
服務(wù)端目錄結(jié)構(gòu)

app.js

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/supplies');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', indexRouter);
app.use('/supplies', usersRouter);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

index.js

var express = require('express');
var router = express.Router();

/* GET home page. */

router.get('/', function(req, res, next) {
  //res.render('index', { title: 'Express' });
  console.log('hello will!');
  //path.resolve(__dirname,'../public/build/index.html')
  res.sendFile('E:/www/react-backend/public/build/index.html');
});

module.exports = router;

localhost:3001 空白,
服務(wù)端輸出
hello will!
[0mGET / [36m304 [0m0.620 ms - -[0m
[0mGET /static/css/main.0d5ac3e0.css [33m404 [0m10.199 ms - 1022[0m
[0mGET /static/js/main.ceae68dd.js [33m404 [0m18.856 ms - 1022[0m

調(diào)試發(fā)現(xiàn)
指向“http://localhost:3001/static/js/main.ceae68dd.js”的 <script> 加載失敗。

回答
編輯回答
怣人

packge.json里面加上 homepage的配置,如果最后發(fā)布地址是服務(wù)器根路徑,那么就配置homepage:'http://localhost:3001',然后重新打包,應(yīng)該就可以了吧

2017年12月1日 23:32