我正在使用angular创建一个简单的应用程序,并且尝试使用mongodb保存数据。到目前为止,我设法用angular创建了SPA并将其部署到heroku中,并添加了server.js文件。当我尝试连接mongodb时,我的问题开始了。
当前我正在使用
来服务我的页面app.get('/*', function(req,res) {
res.sendFile(path.join(__dirname,'/dist/showoff/index.html'));
});
在index.html内部,我正在呼叫<app-root>
,而我的应用程序具有两条路由:/display
和/control
然后我意识到我必须添加更多路由来通过服务保存和读取数据库,所以我必须添加以下内容:
router.route('/players').get((req, res) => {
Player.find((err, player) => {
if (err)
console.log(err);
else
res.json(player);
});
});
问题是我已经到达/*
,所以我无法到达那些路线。我试着在上面写这条其他路线,因为我发现它可能会找到第一个路线,但它不起作用,而且我总是被重定向到我的index.html
我的问题是:
有没有办法像这样部署SPA并仍然使用mongo?还是因为我的方法不正确而需要以某种方式重组所有内容?
如果需要,您可以在这里找到我的完整代码GitHub code
答案 0 :(得分:1)
以防万一,我做了以下工作。不确定这是否是最好的方法,但它是否有效。
我按如下划分/*
路线
app.get('/display', function(req,res) {
res.sendFile(path.join(__dirname,'/dist/showoff/index.html'));
});
app.get('/control', function(req,res) {
res.sendFile(path.join(__dirname,'/dist/showoff/index.html'));
});
并继续为该处的其他路由添加处理程序,这些处理程序管理对数据库进行读写操作的请求。