我有一个vue应用程序,它在我的本地计算机上运行良好。在研究为什么它会在部署中发挥作用时,我在文档以及该论坛中都看到了一些解决方案。
我似乎没有正确阅读解决方案。
一个解决方案是让Express应用程序实现以下目的:
const express = require('express');
const path = require('path');
const history = require('connect-history-api-fallback');
const app = express();
const staticFileMiddleware = express.static(path.join(__dirname + '/dist'));
app.use(staticFileMiddleware);
app.use(history({
disableDotRule: true,
verbose: true
}));
app.use(staticFileMiddleware);
app.get('/', function (req, res) {
res.render(path.join(__dirname + '/dist/index.html'));
});
var server = app.listen(process.env.PORT || 8080, function () {
var port = server.address().port;
console.log("App now running on port", port);
});
我有一个后端Express应用程序,可与mySQL和vue前端通信。
我在后端的app.js文件中实现了以上代码,但无法正常工作。上面的代码答案(来自该论坛)指出,app.js或server.js应位于根文件夹(而不是src)中。
我是否正确地假设我必须实际上将完全独立的Express应用程序运行到我的Express后端,而app.js位于Vue应用程序的根目录中?它会与我现有的快递应用程序路线(例如“ / products”)冲突吗?该路线会获取产品列表等
问题仍然存在,该页面无法刷新或手动输入。但是,如果我从路由器中删除了历史记录模式,则可以刷新并手动输入,但必须使用#。