本质上,当我使用包罗万象的路线并使用res.redirect('/')
不管我输入的网址时,它总是会呈现索引/主页(即 Angular 似乎没有“看到”完整的网址)但是如果我放置res.render('index')
在包罗万象的路线中一切正常。我不想重复代码并重定向到'/'应该可以工作,我可能在这里的某个地方犯了一个愚蠢的错误,任何帮助将不胜感激!
角度路由:
app.config(function ($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when('/',
{
templateUrl: 'partials/home.jade'
})
.when('/about',
{
templateUrl: 'partials/about.jade'
})
.otherwise( {redirectTo: '/'});
});
这将在输入时正确呈现 about 页面site-address/about
:
app.get('/', function (req, res) {
res.render('index');
});
app.get('/partials/:name', function (req, res) {
res.render('partials/' + req.params.name);
});
app.get('*', function (req, res) {
res.render('index');
});
这将始终只显示索引页面:
app.get('/', function (req, res) {
res.render('index');
});
app.get('/partials/:name', function (req, res) {
res.render('partials/' + req.params.name);
});
app.get('*', function (req, res) {
res.redirect('/');
});
配置如果有帮助:
// Configuration
app.configure(function () {
app.set('port', process.env.PORT || 1337);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.static(path.join(__dirname, 'public')));
app.use(app.router);
});