Express配置單頁應用(SPA)路由
阿新 • • 發佈:2019-01-05
將前端的靜態資源打包後放在express寫的伺服器中,存在重新整理404問題。
原因:
express預設將url地址識別為服務端路由(可以理解為API路徑),使用前端的路徑訪問就會各種找不到路徑。
解決方案
在express中配置由js控制路由跳轉
demo程式碼如下:
import * as express from 'express';
import * as path from 'path';
import * as connectHistoryApiFallback from 'connect-history-api-fallback';
const app = express();
app.use('/', connectHistoryApiFallback()); // 由js控制路由,一定要寫在express.static前面!!!
app.use('/', express.static(path.join(__dirname, '..', 'client')));
// API部分
app.get('...', (req, res) => {
...
})
const server = app.listen(8000, 'localhost', () => {
console.log('Node Server Start on localhost:3000...' );
});