赞
踩
JavaScript 是一种语言,JavaScript的标准是 ECMAScript。
我们说的 ES5, ES6……就是指的 ECMAScript 不同标准。ECMAScript 只是一个标准,而JavaScript是对这个标准的实现。
原文:
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem,npm, is the largest ecosystem of open source libraries in the world.
翻译:
Node.js 是基于 Chrome 的 V8 JavaScript 引擎的 JavaScript 运行环境。Node.js 采用事件驱动、非堵塞 I/O 模型,使其轻量化和高效。NodeJS的包管理生态是 NPM,是现在世界上最大的开源程序包库。
JavaScript是一门脚本语言,它需要一个运行环境。就好像PHP需要Apache,JSP需要Tomcat等等(例子不全面,仅供理解)…… 而NodeJS之前,JavaScript运行环境是浏览器,也就是JavaScript在网页中才能跑起来。NodeJS之后JavaScript又多了一个运行环境,就是NodeJS。
由于NodeJS的最底层是Chrome的V8引擎,然后libuv封装了一些I/O的线程池管理和网络的I/O操作,这部分是C/C++写的。简单来说NodeJS可以控制系统文件的读写,网络的输入输出。所以NodeJS又可以被单纯的认为是一个可以运行 JavaScript 的服务器。(例子不全面,仅供理解)
这些工具的起源和诞生几乎浓缩了前端的发展历程,因为 NodeJS 可以读写文件,监听网络输入输出。所以 NodeJS 和 VueJS、ReactJS、AngularJS 有非常本质的区别。NodeJS 是可以运行 JavaScript 的环境,剩下三个是用 JavaScript 写的库。
目前NodeJS大多被用于前端开发的开发环境。以Webpack作为例子,webpack是一个运行在 NodeJS 端的打包工具,它帮你把你写的 a.js, b.js, c.js ... 打包成一个 bundle.js。而这种打包的第一步是读取(文件读取能力)你的a.js, b.js, c.js ...,所以只能在 NodeJS 环境下做。
vue-cli,react-cli 和 ng-cli 都是运行在 NodeJS 环境下的脚手架。也就是说我们不可以直接在浏览器里运行 vue-cli。因为有了文件读写的能力,所以 vue-cli 可以帮我们集成(或者打包)vue核心模块,并将我们的代码转义,压缩。
所以 vue-cli 是运行在 NodeJS 环境下帮助我们开发基于Vue框架的项目的脚手架。
用JS做服务器: Express / EggJS / HAPI / Koa 等等可以了解下
用JS做移动端混合应用:PhoneGap / Cordova / Ionic 了解下
用JS做移动端原生应用:React-Native / NativeScript / WEEX 了解下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。