Jam*_*orn 13 javascript google-chrome node.js
我是MEAN堆栈的初学者,在研究NodeJS时,我想出了以下声明,这是我的想法
Node.js是一个非常强大的基于JavaScript的框架/平台,构建于Google Chrome的JavaScript V8引擎之上.
但究竟是什么意思呢
基于谷歌Chrome的JavaScript V8引擎构建.
如果它是基于Chrome的JS V8引擎,为什么它也适用于Firefox?
Jar*_*ith 19
MEAN堆栈,从后到前重组:
所以Node.js并不"适用于Firefox"(它也不适用于谷歌Chrome):它是一种服务器端技术.可以将其视为该角色中Python/Ruby/Java的替代品.因此它可以/确实响应来自各种客户(例如谷歌浏览器和Firefox)的请求.
"基于V8构建"意味着它使用与谷歌浏览器相同的JavaScript解释器/即时编译器.但与chrome的相似之处几乎就此止步:Node没有渲染引擎/ css解析器/ DOM,但确实在服务器中需要你需要的东西,如HTTP库和文件系统API.
此外,我的意思是没有冒犯:我们都开始你的位置,你甚至问这个问题(这也不是一件坏事!)意味着建立在像MEAN这样的堆栈上是你的头脑.文档将假设您知道您似乎不知道的事情.我强烈建议在尝试将数据库和框架投入混合之前,通过一些教程和准系统测试应用程序来进一步理解JavaScript和Node.
为了使编程语言由计算机执行,需要将其翻译成机器可以理解的格式(通常称为机器代码).Javascript也不例外.当您的浏览器在网站上显示Javascript代码时,需要编译某些内容,或者在Javascript的情况下,将指令解释为机器代码.
V8是由谷歌开发的程序.当您使用Chrome并在页面上检测到Javascript时,它会将其传递给V8以运行编译,然后您的计算机将执行生成的代码.
V8由谷歌开源.Node的创建者Ryan Dahl修改了源代码,以便V8可以在Chrome之外以及Linux或MacOS等操作系统中使用.这就是你的第一句话的含义.
这里要注意的重要一点是,您不是在浏览器中执行Node程序,而是使用您正在使用的实际计算机.V8和Firefox,Safari,IE等之间没有相关性.所有这些浏览器都有自己的Javascript解释器.
好的,让我们通过这个:
Node.js是一个非常强大的基于JavaScript的框架/平台,构建于Google Chrome的JavaScript V8引擎之上.
JavaScript是一种在互联网浏览器中使用的编程语言.它是由NetScape于1995 年发明的,我认为它已于1996年提交给一个名为ECMA的认证机构.
ECMA采用了JavaScript的最初构想,并制定了一个名为ECMAScript的标准,每个JavaScript实现都应该遵循这个标准.你看,JavaScript不是一种只存在于以太网中的语言 - 每个互联网浏览器都附带了它自己的语言实现 - 这意味着JavaScript通常只能在互联网浏览器中运行,例如Mozilla,Safari,Opera或Chrome.(Internet Explorer还附带了ECMAScript的实现,但他们称之为JScript,我认为这是许可的原因)
Google Chrome附带的JavaScript实现运行在功能强大的V8引擎上,该引擎使用C++语言编写.V8解释您的JavaScript代码并提供所有变量类型,管理内存等.V8的优点在于它是开源的,可以嵌入到任何其他C++程序中.
因此,Node的创建者想要通过添加服务器需要为服务网站提供的功能来获取V8并增强它 - 读取文件,响应请求,路由等.这意味着现在可以编写服务器端的实现一个使用JavaScript的网站,感谢Node.js应用程序,该应用程序解释您的代码,并基本上将其转换为C++和更高版本的机器代码.重要的区别是Node.js不会在您的浏览器中运行!它在服务器上运行,就像使用PHP和apache编写后端代码一样.
| 归档时间: |
|
| 查看次数: |
5863 次 |
| 最近记录: |