当前位置: 首页 > 面试题库 >

Node.js的用途-旨在为之提供坡度的障碍是什么?

姚高爽
2023-03-14
问题内容

我正在努力弄清Node的适用范围。这是个利基市场,可以这么说……Node旨在为之提供坡度的障碍是什么?

我通读了示例,并观看了一些演示视频。一切看起来都很圆滑。创建一个简单的TCP /
IP聊天服务器;将Node用作数据库服务器的基于JSON的前端…但是它适合哪里?我的意思是,除了最后一个示例,Node有什么关系?

我想我要问的是:您将Node用作什么?又为什么呢


问题答案:

说服老板

使用节点的原因列表:

  • 速度。V8很快。它比python更快,比php更快。
  • 事件IO。IO正确完成。不用搞乱线程,一切都很好并且很容易。
  • 低级Web服务器。对动态语言中的抽象的良好控制。
  • JavaScript。一种很棒的语言,具有许多开发人员在编写异步代码方面的经验。开发速度很快,维护也很方便,因为一切都可以用一种语言完成(客户端,服务器端,数据库访问)。

可与node.js一起使用的库和工具:

  • express.js:MVC Web框架。非常轻巧。给您路由和视图。在connect.js之上构建。开箱即用,支持多个CSS和模板引擎,可灵活控制视图和路由。与node.js本身一样,它非常简单,可以为您的Web服务器提供精细的控制。我个人在权利的控制与抽象之间找到平衡。
  • socket.io:实际的websocket抽象。内置了许多优雅的降级支持,因此没有websocket的浏览器使用彗星技术或Flash Bridge。使您可以轻松,轻松,实时地在客户端和服务器之间进行对话。
  • now.js:建立在socket.io之上,并为您提供跨客户端和服务器的同步名称空间。允许您从客户端轻松调用服务器方法,反之亦然。

所有这些库都基于以下事实:node.js允许您以低级方式处理所有内容,并且与客户端的通信流畅流畅,因为您在任一端都使用相同的语言。

对我来说,卖点是,我在客户端和服务器上都拥有相同的MVC库ribs.js。我所有的模型代码都被重复使用。客户端和服务器上的模型通过now.js轻松同步。

我的数据库访问由全部用JavaScript编写的cradle(或mongoose)驱动。实际上,我的MVC直接关联到数据库,并无缝保存我的模型。这些模型定义了有用的方法,例如savefetch做持久性数据库存储。我不手动触摸数据库,因为我的MVC允许我插入数据库驱动程序来为我执行此操作。

我的模板的呈现是通过EJS完成的,我的视图在客户端和服务器之间共享。只是有大量的代码重用,并且我的整个Web开发都是使用JavaScript完成的,这意味着我不必切换我的编码范例或样式。

确定服务器上的内容和客户端上的内容之间的灰色区域也无须费力,因为该灰色区域已被完全平滑并且客户端和服务器无缝集成。

如果您要编写一个复杂的动态ajax
Web应用程序,那么node.js是一个理想的选择。如果您要拥有一个静态网站,那么node.js是一个理想的选择(您可以在20分钟内完成设置)。

如果您要编写服务器繁重的网站,而客户端功能和回发很少,那么最好使用php或ASP.NET。但是,如果这样做,您应该研究更多动态客户端功能并使用ajax。



 类似资料:
  • 本文向大家介绍微服务测试的主要障碍是什么?相关面试题,主要包含被问及微服务测试的主要障碍是什么?时的应答技巧和注意事项,需要的朋友参考一下 说到缺点,这里是另一个微服务面试问题,将围绕测试微服务时面临的挑战。 在开始编写集成测试的测试用例之前,测试人员应该全面了解对所有入站和出站过程。 当独立的团队正在开发不同的功能时,协作可能会被证明是一项非常困难的任务。很难找到空闲时间窗口来执行完整的回归测试

  • 问题内容: 我目前正在我的app.js / server.js文件中提供我所有的html,如下所示: 我想如果我有15个以上的html页面,那可能不是调用它们的最佳方法。是否有更好的方法可以从另一个文件或位置为它们提供服务,并使用导出或仅能在app.js上调用一个函数或某些东西的服务。这可能是路由的目的,但也许我不太了解。 (添加了同一文件中的更多代码) 问题答案: 您可以使用中间件: 一个服务器

  • 问题内容: Node.js module.exports的用途是什么,如何使用它? 我似乎找不到任何相关信息,但是正如我在源代码中经常看到的那样,它似乎是Node.js的重要组成部分。 根据Node.js文档: 模组 对当前的引用 。特别 是与导出对象相同。请参阅 以获取更多信息。 但这并没有真正的帮助。 究竟是做什么的,一个简单的例子是什么? 问题答案: 是调用结果实际返回的对象。 该变量最初设

  • 问题内容: 为什么列入成员的? 问题答案: 因为它在中,所以…。http : //tomoyo.sourceforge.jp/cgi- bin/lxr/source/arch/x86/include/asm/user_32.h#L77 因此,许多用户空间实用程序都希望在此处输入一个字段,因此也包含在其中(以与较早的调试器和rs 兼容) 下一个问题是“为什么将成员包括在其中?”。 它是在Linux