MEAN环境下的Node.js程序结构

Posted

技术标签:

【中文标题】MEAN环境下的Node.js程序结构【英文标题】:Node.js program structure in MEAN environment 【发布时间】:2014-10-16 19:47:45 【问题描述】:

我目前正在开发一个基于流行的 MEAN 堆栈(MongoDB、Express、AngularJS 和 Node.js)的 Web 应用程序。由于我仍在为 node.js 的某些方面苦苦挣扎,因此我想就我的主要架构决策征求您的建议和意见。

由于我发现 Jade 相当丑陋(符号方面)并且不希望服务器呈现网页(出于 cpu 省电的原因),所以我选择始终发回准备好的 html 文件/模板。

例子:

app.get('/', function(req, res) 
  res.sendfile("public/index.html");
);

然后,在客户端,我启动进一步的基于 Angular-JSON 的通信,以实现 REST Web 服务,以立即获取和填写所需的数据。有什么反对这种方法的合理论据,或者为什么我应该在服务器端使用渲染引擎?

此外,有没有人知道一个关于多页 Web 应用程序的优秀在线教程,其中包括用户注册/验证、身份验证过程、其余 Web 服务等?新手可以看一下,以了解如何很好地构建中型到大型 node.js 应用程序?我已经在谷歌上搜索了好几天,但觉得我找到的所有教程总是缺少必要的成分,或者相当“初级”。

提前致谢。 伊戈尔

【问题讨论】:

【参考方案1】:

我在 2 个月前开始使用 Node.js,现在我正在按照同样的方法开始一个项目。

同样,我没有使用“渲染引擎”,主要是因为我打算使用我的客户端代码(角度)来使用cordova(phoneGap)创建一个混合应用程序。

我从 Pluralshigh 的 Node.js 教程中学到了很多:

http://pluralsight.com/training/Courses/TableOfContents/building-angularjs-nodejs-apps-mean

http://pluralsight.com/training/Courses/TableOfContents/nodejs-dotnet-developers

最后,关于安全性,“Passport”是一个很好的实现身份验证的库。

顺便说一句:我正在使用基于令牌的身份验证。

以及“如何将 Passport 与令牌集成”的答案,我在这里找到了:

passport-local with node-jwt-simple

【讨论】:

嗨,谢谢。很高兴知道,我的方法并非完全错误或违反基本规则。不过,其他意见和经验会很棒。

以上是关于MEAN环境下的Node.js程序结构的主要内容,如果未能解决你的问题,请参考以下文章

nw.js node-webkit基本程序结构与配置package.json配置说明

Node.js 多平台项目结构

Node.js MEAN Stack App 在本地工作,但无法部署到 Heroku

Node.js学习05:动手啦,基于node.js编写程序

node.js 中所需的结构化库的最佳实践

如何将 MongoDB 集合中的数据存储为堆?