真的需要在node.js中使用express或其他框架吗?


Is it really required to use express or other framework with node.js?

我是一个node的新手。我得到一些问题与节点。就像如果它真的需要使用任何框架/模块,如"Express"等节点?难道我们不能简单地创建一个类似PHP或asp等的web应用程序吗?在PHP中,我们可以简单地创建文件&我们知道把文件放在哪里。其余的事情由服务器自己处理。

PHP框架: CodeIgniter, CakePHP(告诉我们在哪里放代码,意味着MVC等)节点框架: Express, Fab.js(告诉我们不使用这些我们就不能轻松进行)

例如,我想为学生创建一个简单的个人资料编辑表单。在php中,我可以简单地在HTML中创建一个表单,显示已经填写的值由用户在字段&可以在上面添加一些验证。但是对于node,我们怎么做呢?

  • 实际上我应该把我的服务器端文件?
  • 我真的需要任何框架(express)在节点上这样做吗?
  • 我可以写html &Node.js,我们通常在PHP中使用

如果真的需要使用任何框架/模块,如"Express"等节点?

。与任何框架一样,它只是通过为您做一些常见的事情使您的生活更轻松。

在PHP中我们可以简单地创建文件&我们知道把文件放在哪里。其余的事情由服务器自己处理。

典型的Node应用有内置的服务器,必须自己做URL路由(Express就是这样做的)。

典型的(小型)PHP应用程序使用单独的服务器,并让它为它们处理路由。

您可以使用Node做到这一点,但是您需要有一些方法将服务器链接到您想要运行的特定JavaScript程序。你可以编写所有的JavaScript程序来符合CGI规范,但是CGI不是很有效,而且(我的印象是)大多数人选择使用Node是出于性能原因。

实际上我应该把我的服务器端文件?

这取决于你。有很多方法可以用来组织你的代码。

我可以写html &在node。js中使用< ?php ?>

PHP可以很容易地将业务逻辑和显示逻辑混合在一起。这使得淘汰琐碎的程序变得非常容易。这也使得不重要的程序很容易成为维护的噩梦。

据我所知,Node并没有提供模板语言,但是通过NPM可以提供很多模板语言。我不知道有什么功能可以让您将原始JavaScript挥霍到模板的中间,但我认为这不是一个可取的功能。

  • 你可以把你的节点文件放在任何地方,这是常见的有主入口点到你的应用程序在你的项目的根级。然后库通常放在子目录中,第三方模块通过npm管理,默认安装到node_modules。node_modules默认在节点路径上,所以它们可以在没有require('async')的情况下被引用,假设你已经安装了npm async

  • 您不需要任何框架,node提供了在其标准库中创建服务器所需的所有工具

  • node有几个模板库,我很确定它们中的大多数允许你混合html和几个表达式,如循环和条件。有些可能允许任意js,但我没有任何使用经验