首先是坏消息:由于Node.js是一项非常年轻的技术,我认为你会发现创建一个成熟的网站和维护/操作它的过程将与你目前习惯的非常不同.
Josh3736加:Once you figure out how Node.js and its various packages (Connect, Express) work, I found that you can develop new sites very quickly.
node 中当前存在的粗糙边.js,再加上其快速的开发速度和所有涉及的模块,可能会使事情复杂化,并使事情变得不那么简单、快速和直接.
有了这些,好消息是:
Node Package Manager, NPM有很多很好的工具和框架来扩展 node .js的基本功能,使其适合创建Web服务器.
最值得注意的是Express Framework,它包含运行Web服务器所需的几乎所有内容(包括cookie、会话和路径路由).此外,Express还支持partials,它可以处理您的页眉和页脚.
快车是建在Sencha's Connect辆车之上的.Cookie和会话实际上是由Connect提供动力的.Express可以简化您的路由并处理视图/分区.所以,如果你不需要Express附带的所有铃声和口哨,你可以 Select Connect.
如果你喜欢为这些部分使用模板,Jade Template Engine可以为你加快速度.尽管Josh3736指出Jade的速度很慢,而且空格很重要.更完整的概览可以在here中找到,其中包括他最喜欢的doT.(我个人只在基于socket.io
的应用程序中使用Node.js,所以在模板制作方面,他比我更好).
您可以从 node 连接到MySQL.js正在使用db-mysql模块,但如果您不需要它,因为您正在访问连接到现有系统的数据,我建议您使用更"现代"方法,即使用NoSQL数据库作为大多数 node .js项目似乎可以.MongoDB到Mongoose是最流行的方式.
或者,如果它只是存储你感兴趣的对象,那就 Select Redis(无论如何,你可能会在某个时候需要它).
确保你的网站能够持续运行.有很多方法可以做到这一点,比如使用内置的集群支持或使用功能更友好的forever
NPM模块.See this SO question of mine for more information.
Conclusion:
我想说的是:
询问在Node中构建网站的最佳实践是什么.js和用PHP建立网站的最佳方式差不多:100个开发者会给你100个不同的答案.
NPM拥有各种优秀的框架,可以极大地简化所涉及的许多任务,但这一切都取决于 Select 哪一种方法.
正如我所说, node .js仍然是一种非常年轻的技术,因此没有任何框架或附加工具成为"事实上的标准";对于您试图做的大多数事情,可能有各种替代方案,并且在更新过程中使用大多数替代方案时,您的代码可能会中断,因为 node 的开发.js本身和大多数模块都是快节奏的.你得跟上.
Putting it all together:
正如我所说,我的主要产品用于Node.js能够使用socket.io
,所以我现在没有任何好的生产示例(因为我将要go 一个应得的假期,所以我也没有时间把它们放在一起).不过也有一些很好的例子:
同样,方法(以及随后的例子)在很大程度上取决于你的最终目标和所 Select 的技术,但幸运的是,所有可用的 Select 都有足够的资源.大多数模块都使用有良好文档记录的GitHub存储库,并包含与最流行的模块相结合的示例(请参阅大多数存储库中出现的/examples/
dir).
祝你好运(感谢Josh3736纠正了我的错误.)