Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nodejs和socket.io,是纯javascript吗?_Javascript_Linux - Fatal编程技术网

Nodejs和socket.io,是纯javascript吗?

Nodejs和socket.io,是纯javascript吗?,javascript,linux,Javascript,Linux,我开始使用nodejs和socket.io 是纯javascript还是我必须学习像JQuery或MOntools这样的框架 谢谢大家! jQuery、MooTools和Node.js都是“纯”Javascript,如果你这么问的话。但是,它们都是库,您确实需要学习它们的API 您可以找到Node.js的文档 node.js是纯javascript 是的,您确实需要学习node.js,因为它是您的服务器端IO库。不,您不需要学习用于服务器端开发的jQuery或MooTools 在node.js社

我开始使用nodejs和socket.io

是纯javascript还是我必须学习像JQuery或MOntools这样的框架


谢谢大家!

jQuery、MooTools和Node.js都是“纯”Javascript,如果你这么问的话。但是,它们都是库,您确实需要学习它们的API

您可以找到Node.js的文档


node.js是纯javascript

是的,您确实需要学习node.js,因为它是您的服务器端IO库。不,您不需要学习用于服务器端开发的jQuery或MooTools

在node.js社区中,非常强调使用第三方库来实现您的目标。目前没有为节点设置框架

有几个图书馆值得学习

  • 路由、视图引擎和控制器(MVC的一半)
Express是一个轻量级MVC库,用于构建的ontop。这使您可以访问路由库和视图引擎。当与或结合使用时,它将允许您设置node.js代码以单独处理传入路由并呈现来自模板的数据。我还建议您看看哪种方法是处理URL的REST样式路由的好方法

  • websocket库
现在是socket.io之上的抽象。它在客户端和服务器之间提供了一个“共享”名称空间。这使得RPC变得微不足道。只需在服务器上将函数声明为now的属性,并从客户端调用它。现在为您处理所有socket.io通信

  • 数据库库
摇篮是一个抽象概念,允许您与之交互。如果您打算使用node,我建议您使用NoSQL数据库,如coach或(如果您使用mongo,请尝试)

  • 使生活更轻松的通用工具
这是一个很棒的实用程序库,允许您以函数式(想想python或ruby)编写代码。尽管大多数功能已经是ES5的一部分,但强烈建议这样做。在客户端上使用它来模拟ES5也是一个很大的优势

  • 集合和模型(MVC的另一半)
主干是一种轻量级MVC抽象。这允许您使用更常见的MVC结构。对于node.js本身,我建议使用和并让express处理视图渲染(但使用集合和模型中的数据填充视图)。您还可以轻松地覆盖以与您选择的数据库抽象交互,这实际上将主干网变成了一个ORM。一个可靠的替代方案是

  • 流控制库
期货给你一个承诺API。这对于编写可管理的可读代码非常有用。它还阻止您将回调嵌套到5层深。图书馆本身很宽敞。它还为按顺序运行异步回调以及在最后与回调处理程序并行运行异步回调提供了很好的抽象

3个月后

在完成了一些项目之后,我仍然推荐express。不过

我不推荐

  • 现在。为什么?它挡住了路,漏水了。改用
  • 摇篮。为什么?它有边缘案例bug,这是调试的噩梦,请改用请求
  • 下划线。为什么?只是不需要。ES5足够表达了
  • 脊骨/脊柱。为什么?它漏了,它挡住了路。它不是为服务器设计的
  • 未来。为什么?这太过分了。你不需要它。改用
  • 快速控制器。这是一个漏洞百出的抽象概念,它不起作用
我想推荐一些东西

  • 单元测试()
  • 热代码重新加载(/)
  • 扩展架构(/hook.io)

Mootools,Jquery都是纯javascriptjQuery不是一个框架。node.js是一个推式框架。(它们都是库)。“所有这些……都必须学习”。完全没有理由同时学习MooTools或jQuery。@Raynos,没错,出于某种原因,我在这里模仿提问者使用
框架
。这些确实是库,答案会相应更新。谢谢:)你仍然不应该建议他同时学习jQuery和MooTools(这很愚蠢)@Raynos,我并不是建议他这样做,那确实是愚蠢的:)我只是指出,提问者必须学习核心Javascript语言之外的API才能使用其中任何一种语言。我的句子是不是结构太弱以至于不明显?:)