node是什么?
一、node是什么
node也指Node.js,是一个基于Chrome V8引擎的JavaScript运行环境。Node.js使用了一个事件驱动的、非阻塞式I/O的模型,轻量又高效,它的底层是用C/C++编写的。Node.js 最初的定位是提升 Ryan 自己的日常工作效率,也就是用来写服务器代码的。
先说几句 Node.js 在服务器端的发展。Node.js 的诞生带给人们的是个大大的惊喜,传统上 Web 开发者,前端用 JS 写,但是写服务器端代码的时候还必须用另外一种语言,类似 Ruby/Java/PHP 等。但是 Node.js 出现之后,JS 前后通吃了。如果去网上搜 Node.js 的资料,很多都是用 Node.js 去写服务器代码的。
但是,Node.js 今天也成为了 Web 前端开发必不可少的基础设施。注意,Web 前端的 JS 代码最终还是运行在浏览器中的,所以运行的时候,或者说在产品环境下,不依赖于 Node.js 。但是,Node.js 诞生以后,前端大爆发,类似 React/Vuejs 这样的前端框架的开发环境变得非常强大和负责,Node.js 是这些开发环境运行的基础。
接下来,演示一下 Nodejs 中如何运行 JS 代码。
以前 JS 只能运行在浏览器中,Node.js 出现之后,不管是服务器上,还是我们自己的的笔记本上,只要安装了 Node.js 就可以运行 JS 代码了。假设,咱们已经安装好了 Node.js ,那么进入命令行,
node
执行 node 命令,就可以进入 Node.js 的交互环境。
1 + 1
执行加法操作,回车,就可以看到代码正确执行了。Ctrl-D 可以退出这个交互环境。
但是更为常见的一种执行方式,是把把代码写入到一个文件中。
app.js
console.log(“hello”);
然后这样来在命令行中执行
node app.js
就可以看到 hello 被打印出来了,而这样过程跟浏览器没有一毛钱关系。
另外有一点是要特别注意的。Node.js 和浏览器是不同的环境,是有着很多细小的差异的。首先,二者各自包含的全局变量不同。document 对象是用来操作页面的,所以只有浏览器环境下才可以直接使用。但是如果是要放到 Node.js 环境下运行代码,就不要使用 document 。同样的道理,Node.js 中可以直接拿来使用的 http 对象,在浏览器环境下就没有。其次,Node.js 和浏览器对 ES6 新特性的支持程度也是不同的,这一点也要注意。
延伸阅读:
二、npm是什么
Node.js 引发了前后端开发的爆发,尤其是前端。 JS 开发者众多,所以贡献开源代码的人就非常多,所有这些凝结成了npm 这个世界上最大的软件包仓库。
npm 是 Node Package Manager 的缩写,意思是 Node 的包管理系统。Nodejs 现在如日中天,其中 npm这个功不可没。在这里,我们要实现各种功能几乎都能找到现成的别人写好的包,直接拿了用就好了。
很多 npm 包都对应一个 Github 项目,但是如果只有代码,那么使用起来还不是特别方便。而当系统上安装好了Node.js之后,就会配套安装一个命令,叫做 npm 。
npm install moment
执行npm install moment就可以把moment这个包从npm的软件包仓库中下载这个包,然后安装到本地了。而 npm 的软件包仓库中,有数以万计的 moment 这样的包。
相关推荐HOT
更多>>MySQL中id通常使用什么数据类型呢?
一、MySQL中id通常使用什么数据类型一般都是 int 自增设置为主键如果表大的话可以设置为 龙, 或者big int例如:‘id’int unsigned not null a...详情>>
2023-10-15 22:12:14关系型数据库是什么?
一、什么是关系型数据库关系型数据库是按照关系模型组织和存储数据的数据库。它使用表格(表)的形式来表示和存储数据,每个表代表一个实体,而...详情>>
2023-10-15 21:32:39设计移动端表单有哪些注意事项?
1、分布式表单iPhone目前主要的机型屏幕尺寸在4.7-5.8英寸,android的尺寸更多一些,但是总体上来说,移动端的载体手机屏幕不大,能承载的信息...详情>>
2023-10-15 21:06:48APP开发过程中需要注意什么?
一、APP开发过程中需要注意什么1、了解需求:商家和企业在开发app的时候,首先要了解市场需求,也就是用户的需求,这点是最重要的,想要app软件...详情>>
2023-10-15 20:00:34热门推荐
为什么索引过的字段排序速度会很快,原理是什么?
沸为什么Python开发世界持续被Django统治那么久?
热Binder到底是什么?
热MySQL中id通常使用什么数据类型呢?
新关系型数据库是什么?
设计移动端表单有哪些注意事项?
开发一个生鲜商城APP软件可以解决哪些问题?
APP开发过程中需要注意什么?
图数据库的应用有哪些优点?
数据库中的视图有什么用?
数据库丢失数据的原因是什么?
Mysql、SQLite、Mongo的区别?
LayoutInflater.inflate()方法两个参数和三个参数的区别?
为什么要用flow?