我的网站流量很低,包含.html,.css和.js文件。出于本文的目的,一个很好的比喻是用于学习javascript的高中课程网站。我需要添加一点后端。我需要
1)用于存储用户及其“成绩”的小型数据库。在过去,我在apache上使用了php + mysql这样的东西
2)评估用户提交的javascript 服务器端并评估结果的能力。 Node.js有vm和sandbox,所以我想我应该转向node.js(如果你有另一种方法让我知道!)。
我之前从未使用过node.js,我对这里的教程以及它们如何融入“老式”Web开发环境感到困惑。 hello world教程从制作服务器开始。为了有一个微小的后端,这听起来有点矫枉过正,直到我读到this,它解释了一些更好的东西,说(简单来说)node.js取代了apache并增加了好处,等等。 / p>
为了获得我上面列出的小后端的功能,是否需要一个完整的node.js应用程序?此时我不需要持久的I / O.我只需要服务器端的javascript评估。有没有办法让一个“老式服务器”服务我的html与数据库的PHP后端(上面的子弹1),但然后添加一个小node.js应用程序评估用户提交的JavaScript(上面的子弹2)?我担心如果作为初学者,我在node.js中运行一个http服务器,我将打开其他超级成熟的Web服务器在幕后顺利处理的安全漏洞。另外,如果我获得了nodejitsu / heroku / etc的托管计划,他们是否会自动提供.html?你必须从头开始使用服务器吗?
答案 0 :(得分:1)
首先,使用node.Js来满足您的需求并不是一个坏主意,与传统技术(如Apache-PHP)相比,NODE的独特性和附加优势在以下视频Why Node.JS is better中有明确解释。 NODE刚刚用于高级或复杂的应用程序是错误的,您可以使用节点来构建非常简单的任何大比例的应用程序。对于节点初学者来说,如果不使用任何框架进行编码,这将是一个不太舒服的任务,但是通过使用这个名为express的Web应用程序框架,您无需从头开始编写代码,并且使用简化的html模板语言JADE和路由请求来设置html页面非常容易,您甚至可以使用您的html页面,如果您不愿意使用JADE来呈现您的应用程序的视图。这是一系列教程,可以帮助您Tutorials on beginning with node.js,Basics of expressJS, Advanced express tutorials。 该系列视频还有关于连接到无SQL数据库MONGO-DB的教程,Mongo是与NODE后端一起使用的最流行的数据库,这里是比较mongo和SQL Mongo V/s SQL的视频。 使用Node还可以增强Web应用程序的可伸缩性,这对于任何基于Web的服务都非常重要。 Node并不打算在PHP旁边使用,那些是完全两种不同的后端技术,当你可以使用快速框架轻松构建应用程序时,为什么要使用PHP-Apache和节点,我建议继续使用NODE-Express -Mongo。