了解nodejs代码:什么是app.get函数? angularBootModule?

时间:2014-01-17 09:17:00

标签: javascript

帮助我理解代码。这对Angular JS初学者非常有帮助。

------------
LoginPage.js
------------
exports.signupform = function(req, res) {
    res.render('login', {
        title: 'Signin',
        angularBootModule: 'login',
        message: req.flash('error')
    });
};

exports.logout = function(req, res) {
    req.logout();
    res.redirect('/');
};

    enter code here

--------
main.js
--------
 var loginController = require('/page/LoginPage.js');
    app.get('/signup', loginController.signupform);
    app.get('/logout', loginController.logout);

我是棱角分明的新手。在这里我理解在main.js文件中,加载了LoginPage.js。然后我们调用signupForm函数。


问题

这个app.get功能是什么?为什么这个'注册'论点?

我们已经为函数注册表新定义了两个参数req,res。为什么渲染功能会出现?默认情况下,所有Javascript对象都有这种渲染方法吗?

分配angularBootModule有什么用:'login'。它会做什么?

1 个答案:

答案 0 :(得分:2)

我不是AngularJS专家。实际上,我从来没有在AngularJS中编码,甚至在今天之前看过一行AngularJS代码。但是,我认为我的答案对你们来说会更有帮助,一个初学者,因为我是如何到达他们的。

app.get向服务器发出GET请求以获取资源。 /signup是服务器上此资源的路径。我通过浏览AngularJS网站的教程部分了解到了这一点:here

signupform的论据可能是req,是“request”的缩写,res是“响应”的缩写。这让我相信app.get的第二个参数是一个回调,一个将在GET请求完成时执行的函数。 res有方法render这一事实让我觉得响应必须是某种模板,因为在客户端应用中我们经常“render templates”。

并非每个javascript对象都有方法render,因此该对象必须是程序员需要在服务器端定义的对象。通常在使用像AngularJS这样的框架时,你需要戴上一些不同的帽子:你可能需要实现一个相对简单的服务器,可能在Ruby on RailsSinatraDjango。此服务器将响应请求,将数据传递到客户端应用程序。但是,这些框架中的每一个都将是一个学习的努力!更多的帽子!

至于angularBootModule,我不确定。 ^ O ^ //

听起来像你刚刚开始进行网络开发。 StackOverflow是一个获得问题答案的好地方,但它看起来不仅仅是答案对你来说已经足够了。如果有人通过说:

回答了你的问题
  1. 正在对'/ signup'进行GET请求
  2. 渲染功能将导致显示响应。
  3. 没有
  4. 你会得到你的答案,但你不会对他们更好。我建议您前往AngularJS tutorial并完全关注它,查找您不理解的所有内容。您可能最好开始使用服务器端框架(如Sinatra)的教程,这样您就可以更好地了解HTTP以及网站的工作方式。

    感谢您发布到StackOverflow!祝你好运!