我在想是否使用Node.js(express.js)是建立完整网站的最佳选择。我一直在使用Rails + Node.js,不知道这仍然是最好的选择,还是应该完全转向Node.js。
是否有使用Node.js完全构建的网站?我想它肯定缺少Rails提供的许多功能。
我在想是否使用Node.js(express.js)是建立完整网站的最佳选择。我一直在使用Rails + Node.js,不知道这仍然是最好的选择,还是应该完全转向Node.js。
是否有使用Node.js完全构建的网站?我想它肯定缺少Rails提供的许多功能。
我想它一定缺少了很多Rails所提供的功能。
我列出了一个简短的清单,但我想知道你可能会缺少什么,而且我几乎可以确定我们可以在node.js上为你提供一些替代方案。
Node.js已经非常完整,我认为你可以仅使用Node.js运行整个网站,例如使用以下模块。我假设你知道npm
。如果不知道,我真的建议你去谷歌了解一下。要搜索npm,可以使用http://search.npmjs.org:
面向Node.js的高性能、高级Web开发
https://github.com/visionmedia/expressSocket.IO旨在使实时应用程序在每个浏览器和移动设备上都成为可能,消除了不同传输机制之间的差异。 https://github.com/learnboost/socket.io-node
我相信使用这两个Web框架,你可以创建许多网站。例如,Express是一个非常强大的Web框架,支持许多很酷的功能,如:
仅列举一些。
Redis是一个开源的高级键值存储器。它通常被称为数据结构服务器,因为键可以包含字符串、哈希、列表、集合和排序集。
https://github.com/mranney/node_redisMongoDB(来自“humongous”)是一个可扩展的、高性能的、开源的、面向文档的数据库。 Mongoose是一个MongoDB对象建模工具,旨在在异步环境中工作。
https://github.com/learnboost/mongoose/
使用这两个数据库,您应该能够完成大部分任务。好处是Redis非常快/简单的高级KV存储(在内存中存储数据集/也支持VM),并支持复制,而Mongodb更完整(比Redis慢)并支持分片。
- 您的node.js Connect和Express应用程序的身份验证和授权(密码、Facebook等)。
https://github.com/bnoguchi/everyauth
就像我之前说过的,只使用这些模块就可以做很多事情。
Express.js 更像是 Sinatra。相比 Rails,它们是更简单的框架。
Express 的网站列表相对较小,请参考 http://expressjs.com/applications.html
因此,我认为查看 Sinatra 的列表也很有意义,可以访问此链接:http://www.sinatrarb.com/wild.html
回答你的问题,从反方向来说,它确实缺乏 Rails 的所有功能。但是有很多网站是完全使用 Express 写成的。如果你的网站需要更好的性能,完全使用 Node.js 可能是正确的决定,这取决于你会错过哪些功能和你所需的性能。