express - Angular 和 Express 路由

标签 express angularjs

我已经浏览了许多 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/indexpartials/about发出请求时返回渲染的模板。

要点如下:https://gist.github.com/4277025

关于express - Angular 和 Express 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13860899/

相关文章:

html - AngularJS 指令导致页面布局出现问题

html - Nodejs 表达 html

node.js - NodeJS 禁用缓存

node.js - 用户与 Mongoose 的完美匹配

javascript - 如何创建 Angular 1.x "plugin"?

javascript - Angular JS 和 TypeScript - 错误 : ng:areq Bad Argument "Argument ' XXXXXX' is not a function, 未定义”

javascript - Angular 使用对象的数组值

html - angularjs数学计算

javascript - 为什么 req.somevariable 和 res.locals 不能与 jwt 回调一起使用?

node.js - 在node.js中添加值