4

试图了解如何在 node.js express 应用程序中实现 AngularJS。设置 express 后,我需要两件事:路由和模板引擎,所以通常我需要执行以下操作来设置应用程序使用 Jade 模板引擎:

 app.register('.html', require('jade'));

...然后我会设置路线可能是这样的:

app.get('/', function(req, res) {
   res.render('index', function(err, html){
      // ...
   });
});

但是如果我想用 AngularJS 做模板,我还需要 Jade 吗?我读到了如何在 AngularJS 中配置路由,这是否意味着在使用 AngularJS 时不再需要上述使用 app.get() 声明路由的方式?

4

1 回答 1

3

如果您不需要在为客户端呈现页面之前向 Angular 布局添加任何额外的内容(即,在某些情况下,您可以在 Jade 模板中添加一个 window.user 对象以在使用 PassportJS 时进行身份验证),您可以完全放弃Jade 并让 Express 静态中间件呈现您的index.html

app.use(express.static(path.join(__dirname, 'public')));

显然,里面的文件public/都是你的 Angular 文件,包括index.html. 确保也需要该path模块来进行路径规范化,但这不是必需的。

之后,Angular 会处理剩下的事情。这意味着您的所有路由都在 Angular 应用程序中定义,而不是在 Express 路由中。

于 2013-09-29T00:34:56.120 回答