我已经浏览了许多 Angular-express 种子并弄清楚了它们是如何工作的。
我遇到的问题是:1)。我想使用 ejs-locals 进行模板化。 2).如何正确配置服务器端和客户端的路由。而且,当输入诸如 /about
之类的 URL 时,不会生成错误:cannot/get
Angular app.js 包含:
// angular stuff
$routeprovider.when('/', {
templateUrl: 'index',
controller: IndexCtrl
});
$routeprovider.when('/about', {
templateUrl: 'partials/about',
controller: IndexCtrl
});
express app,js 包含:
app.get('/', routes.index);
app.get('/about', routes.about);
路由文件夹包含“index.js”:
exports.index = function(req, res){
res.render('index',{name:"Hello"});
};
exports.about = function (req, res) {
res.render('partials/about');
};
Views 文件夹包含index.ejs
:
<!--HTML head/navigation bar here-->
<div ng-view></div>
views 文件夹内是一个 partials
文件夹:
(观看次数/部分内容/)
index.ejs:
<h1>Index</h1>
about.ejs:
<h1>About</h1>
最佳答案
将这些路由添加到您的 Express 服务器
app.get('/partials/:filename', routes.partials);
app.use(routes.index);
然后在routes.js
exports.partials = function(req, res){
var filename = req.params.filename;
if(!filename) return; // might want to change this
res.render("partials/" + filename );
};
exports.index = function(req, res){
res.render('index', {message:"Hello!!!"});
};
这将确保express在向partials/index
和partials/about
发出请求时返回渲染的模板。
关于express - Angular 和 Express 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13860899/