我在angularjs和expressjs中创建路由并创建app.all('/*'...)
以使其可以render index.html,但每次我使用/*
页面将会崩溃(噢,啪!)
Angularjs
home.config(function($routeProvider,$locationProvider,$httpProvider)
{
$routeProvider.when('/home',
{
templateUrl: 'home.html',
})
.when('/access_level',
{
templateUrl: 'access_level.html',
})
.when('/Users',
{
templateUrl: 'Users.html',
})
.otherwise({
redirectTo: '/home'
});
$locationProvider.html5Mode({enabled: true,requireBase: false,rewriteLinks: true});
});
expressjs
app.all('/*', function(req, res, next) {
res.sendFile('/views/index.html', { root: __dirname });
});
app.get('/:name',function(req,res){
var name = req.params.name;
res.render(name);
});
那么我的代码出了什么问题?
最佳答案
最后我找到了另一个解决方案,即使我没有在 angularjs 中使用 html5 模式,但它可以工作
所以,我只让 View 文件夹像公共(public)文件夹一样工作
更改自
app.set('views', path.join(__dirname, 'views'));
至
app.use(express.static(path.join(__dirname, 'views')));
然后我只创建 /
服务器端路由(我不再需要 /:name
)
app.get('/', function(req, res) {
res.sendFile('/views/index.html', { root: __dirname });
});
关于javascript - angularjs 和expressjs 路由崩溃(噢,啪!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39433580/