nodejs的安装就不说了,用了这么久还是一知半解。在学习前端编程的时候,经常被一些莫名其妙的写法所困扰,比如vue.config.js中出现的 const port = process.env.port || process.env.npm_config_port || 80 // 端口
,其中process
是什么?还有平常写的console
、localStorage
又是什么?这些知识的学习,其实是有基础的。
一、概述:nodejs是什么
运行在服务端的JavaScript
什么叫运行在服务端的JavaScript?有人会问,我们不是都在浏览器上访问页面吗,又怎么说它是运行在服务端呢,只有调用接口的时候才会和服务端交互啊。
这句话必须好好理解,要不然后续的学习会一直云里雾里。首先我们来说,什么是JavaScript。
JavaScript是一种解释型语言,用的最多的是和html配合,让静态html有一些动态的效果。所以很多人都以为JavaScript只是一种用于操作页面的脚本语言,离开html便没有意义,而忘记了它本身也是一门独立的语言。
因为它是解释型语言,它要运行,就必须要有解释器,浏览器就是一种解析器。我们常常用到的浏览器是在客户端,浏览器解析JavaScript的目的,其主要作用是用它来操作html的dom,使html动起来。这也是我们最初JavaScript的印象,也是最深刻的印象,甚至妨碍我们更深入的去理解JavaScript。
还是那句话,它是一门独立的语言,并且是解释型语言。除了浏览器,还有其他的解释器吗?有,nodejs就是另外一个解析器。解析器就是一种环境,语言在这个环境中才能得以运行。所以浏览器可以运行JavaScript,Nodejs也可以运行,Nodejs安装完毕启动后,一个JavaScript的运行环境就搭建好了,Nodejs是在服务端启动的啊,所以说Nodejs就是一种运行在服务端的JavaScript。
那有人会问了,我没有在服务端启动Nodejs,我是在我的本机客户端启动的啊?任何一台计算机,都可以做为客户端,作为服务端,这只是一个相对的概念。当你再本地启动时,你的本机就充当了服务器的角色。
既然Nodejs提供了一个新的解析器,它的目标并不是仅处理html的dom,它可以解决更多的问题,比如提供文件操作、http服务器搭建等。这也是为什么我们在前端开发的时候,不在需要部署,一个npm run dev命令就可以提供一个可供访问的服务的原因。
实战:不使用浏览器,通过命令运行js——Nodejs的Helloword
Nodejs安装好后,打开命令窗口,输入node启动,输入以下命令
console.log('Hello world')
即可打印出Hello world
process.cwd()
打印当前node执行目录
process.env
打印系统环境变量
二、nodejs内置对象及命令
在概述中,我们用到了console、process命令,它们是怎么来的呢,其实是nodejs提供的一种内置对象。我们可以不加引用,直接使用。
除了这些外,还提供很多,我们可以使用他们操作文件,建立http服务等等。
详细可以查看中文官方文档
网友评论