首先,从坏消息开始:由于Node.js是一项非常年轻的技术,我想您会发现创建一个完整的网站以及对其进行维护/操作的过程将与您现在所习惯的完全不同。
Josh3736补充:一旦弄清了Node.js及其各种程序包(Connect,Express)如何工作,我发现您可以非常快速地开发新站点。
Node.js中当前存在的粗糙边缘,再加上其快速的开发速度以及所涉及的所有模块,可能会使事情变得复杂,并使事情变得不那么简单,快速和直接。
好了,这是个好消息:
该节点包管理器,NPM有很多很好的工具和框架,扩大Node.js的裸露的骨头的功能,使其适合于创建一个Web服务器。
最值得注意的是Express
framework,其中包含运行网络服务器所需的几乎所有内容(包括cookie,会话和路径路由)。此外,Express还支持局部函数,它会处理您的页眉和页脚包含的内容。
Express建立在Sencha的Connect之上。cookies和会话实际上由Connect提供支持。Express是简化您的路由并处理视图/部分的工具。因此,如果您不需要Express附带的所有功能,则可以选择Connect。
如果您想对这些局部使用模板,那么Jade Template Engine可以为您加快处理速度。尽管Josh3736指出Jade较慢且具有很大的空白。在此处可以找到更完整的概述,其中包括他的最爱doT。(我个人
socket.io仅将Node.js用于基于基础的应用程序,因此在模板方面,他是比我更好的消息来源)。
您 可以 使用db-mysql模块从Node.js连接到MySQL
,但是如果您不需要它,因为您正在访问连接到已经存在的系统的数据,我建议您使用更多…’现代”方法,即使用大多数Node.js项目似乎使用的NoSQL数据库。通过Mongoose进行MongoDB是流行的方式。
或者,如果它只是存储您感兴趣的对象,则直接使用Redis(无论如何,您可能有时还是需要使用Redis)。
网站建成后,您将必须对其进行部署并确保其继续运行。有许多方法可以做到这一点,例如使用内置的群集支持或使用功能更友好的
forevernpm模块。
结论 :
我想知道的是:
询问在Node.js中构建网站的最佳实践是什么,与询问在PHP中构建网站的最佳方法是什么相同:100个开发人员将为您提供100个不同的答案。
NPM拥有各种出色的框架,这些框架可以大大简化涉及的许多任务,但是这完全基于偏好,这才是真正的方法。
正如我已经说过的那样,Node.js仍然是一种很年轻的技术,因此还没有任何框架或其他工具成为“事实上的标准”。对于您尝试执行的大多数操作,可能会有多种选择,并且由于更新Node.js本身和大多数模块的速度很快,因此期望代码在更新期间使用它们时会中断。您必须跟上。
全部放在一起 :
就像我说过的那样,Node.js的主要生产用途是能够使用
socket.io,因此我没有任何好的生产示例(而且,由于我打算休假,所以我没有。也没有时间将它们放在一起)。有一些很好的例子:
- 使用Express和Jade进行设置 和 部署
- 使用Express,Jade和MongoDB的非常完整的博客示例
- 结合Restify(Express的扩展),Backbone.js和Mongoose
同样,前进的道路(以及随后的示例)在很大程度上取决于您的最终目标和选择的技术,但是幸运的是,对于所有可用选择,都有大量资源可用。大多数模块使用文档齐全的GitHub存储库,并包含与最受欢迎的模块结合使用的示例(请参阅
/examples/大多数存储库中似乎存在的目录)。
祝好运!(并感谢[osh3736纠正了我的错误。)



