如何在cordova应用程序中配置node.js路由

时间:2015-03-30 11:26:58

标签: node.js cordova cordova-cli

我正在使用angular / cordova应用程序,其中从Url中删除#并刷新后,页面无法获取并且我一直收到错误 -

Cannot GET /home/index

如何配置node.js服务器以返回任何不匹配路由的index.html?

2 个答案:

答案 0 :(得分:1)

使用express它应该很简单:

app.get('/foo', function (req, res) {
    res.render('foo');
});
app.get('/:bar', _checkAuth, function (req, res) {
    res.render(req.params.bar);
});
app.get('*', function (req, res) {
    res.render('index');
});

答案 1 :(得分:0)

首先,您不必担心可能的URL编辑,因为用户在使用应用程序时无法更改URL。但是,如果您在任何anchor代码上提供了错误的网址,$urlRouterProvider.otherwise('/')会为您执行此操作。

myApp.config(function($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('/')

    $stateProvider.state('home', {
        url: '/',
        controller: 'homeCtrl',
    })

    $stateProvider.state('p1', {
        url: '/p1',
        templateUrl: "templates/p1.html",
        controller: "p1Ctrl"
    })
    ...
})

我可以知道index.html页面中的内容是什么吗?