既然Jaxer已经存在更长时间,那么它是一个比Node.js更好的解决方案,如果你是一个像我这样的新开发人员,那么他在服务器端使用JavaScript进行编程的新手?
Jaxer和node.js是非常不同的东西.
可以把Jaxer看作是在服务器端运行的Firefox,但是它与外界的接口是Apache,而不是GUI.它可以完成客户端浏览器可以执行的任何操作:从第三方服务器获取页面,针对该页面运行JS,通过DOM从中提取元素,将新内容替换为其中,等等.
Jaxer也可以或多或少地像ASP或PHP一样工作,只需在Jaxer通过Apache提供的HTML文件中的特殊标签内执行JS,这样就可以将一些动态内容插入到那些静态页面中.
Jaxer有一个巨大的劣势:它是死技术.
另一方面,node.js不是在服务器上运行的浏览器,它现在非常活跃,并且它与Apache或任何其他标准Web服务器没有任何联系.
您可以了解如何使用Node.js的建立自己的Web服务器的HTTP组件,但带来的Lisp的诅咒:因为没有标准的Web服务器,每个人建立他们以不同的方式,以便有没有关于该问题集中的专业知识.
对于模板和其他进入ASP或PHP类型平台的事情也是如此:没有完整的内置组件意味着您最终会从提供的部件中组装自己的组件.
这使得node.js最适合你已经必须自己重新实现一切的项目,所以你想要的是一盒工具和组件,而不是"平台".如果您可以公平地将您的项目描述为Web应用程序,这意味着它是一个恰好通过Web显示其UI的应用程序,并且其大部分内容是动态生成的而不是从文件提供的,node.js可能是很好的选择.
相反,你只需要将一些动态内容替换成一个大多数静态的表示,好吧,我不能真正推荐Jaxer,但是插入标准Web服务器之类的东西是更好的选择.
尽管使用JavaScript作为语言,但Jaxer和Node.js实现了两个不同的目标.Jaxer似乎是作为服务器端Web脚本语言(如PHP或ASP.NET)的目标,而Node.js更像是一个通用事件驱动的网络服务器框架,恰好能够提供Web页面.
您应该选择哪种解决方案完全取决于您要做的事情.如果您可以根据服务器端JavaScript的目标扩展您的问题,那么我们可以提供有关使用内容的更好建议.