jru*_*ter 6 routing callback express vue.js auth0
我已经被困在这个问题上好几个星期了,我想不通。它让我发疯......我读过很多教程,听起来它应该起作用!
我有一个 expressjs 服务器设置和一个 vuejs 应用程序。我希望能够使用历史浏览器模式为 vuejs 路由提供服务,我还希望能够为我的 api 层设置服务器端路由。
如果我禁用历史模式,一切正常 - 但我需要启用历史模式,以便我可以使用 auth0 库和回调。回调不允许在 url 中使用 #。
这是我的代码:
const express = require('express');
const path = require('path');
const bodyParser = require('body-parser');
const logger = require('morgan');
const history = require('connect-history-api-fallback');
const app = express();
app.use(require('connect-history-api-fallback')())
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(history({
verbose: true
}));
app.get('/api', (req, res) => res.send('Hello World!'))
app.use('/', express.static(path.join(__dirname, 'dist')));
var port = process.env.PORT || 8080;
app.listen(port);
console.log('server started '+ port);
Run Code Online (Sandbox Code Playgroud)
对于上面的代码,vuejs 应用程序位于 /dist 下,并且该应用程序的所有路由都有效。但是当我尝试点击 /api 时 - 它也被重定向到 vuejs 应用程序。
任何帮助将不胜感激!我现在认为这是不可能的。
小智 11
我遇到了同样的问题。我通过app.use(history()) 在api 路由之后添加来修复它,但在 app.use('/', express.static(path.join(__dirname, 'dist')));.
所以我想对你来说就像
const express = require('express');
const path = require('path');
const bodyParser = require('body-parser');
const logger = require('morgan');
const history = require('connect-history-api-fallback');
const app = express();
app.use(logger('dev'));
app.use(bodyParser.json());
app.get('/api', (req, res) => res.send('Hello World!'));
app.use(history({
verbose: true
}));
app.use('/', express.static(path.join(__dirname, 'dist')));
var port = process.env.PORT || 8080;
app.listen(port);
console.log('server started '+ port);
Run Code Online (Sandbox Code Playgroud)
这个答案对我有帮助:https : //forum.vuejs.org/t/how-to-handle-vue-routes-with-express-ones/23522/2
| 归档时间: |
|
| 查看次数: |
2844 次 |
| 最近记录: |