第一章:前端视角——js运行环境之node.js基础入门

2,637 阅读3分钟

1.为什么使用node.js

大部分情况下,我们写的js代码都是直接运行在浏览器中,由浏览器进行执行与渲染。但是随着前端工程化的发展,我们写的js代码越来越复杂,所以对我们的代码进行预处理已成为了必要的工序,而node.js则提供了这样一个平台。

2.node.js是什么

Node.js是一个基于 Chrome V8 引擎的JavaScript运行环境(runtime),Node不是一门语言,而是让js运行在后端的运行时,并且不包括javascript全集,因为在服务端中不包含DOM和BOM。Node也提供了一些新的模块例如http,fs模块等。Node.js 的包管理器 npm,是全球最大的开源库生态系统。

3.node.js运行机制

众所周知,js是单线程语言,但浏览器实现了资源加载,http请求等费时操作的多线程操作,node.js的主线程依旧是单线程的,所有同步任务都在主线程上执行,形成一个执行栈,主线程之外,还存在一个任务队列=》只要异步任务有了运行结果,就在任务队列之中放置一个事件=》一旦执行栈中的所有同步任务执行完毕,系统就会读取任务队列,将队列中的事件放到执行栈中依次执行=》主线程从任务队列中读取事件,这个过程是循环不断的。

4.node.js的使用

#####1.查看当前的 Node 版本:

$ node -v v10.5.0

2.运行js文件:

打开终端环境,windows : cmd , mac : Terminal,使用cd 命令到要执行的js文件目录,执行node XXX.js,我们现在在demo文件夹里新建一个1.js文件,在1.js文件中写入console.log('运行js文件'),让我们打开终端环境来执行一下

➜ cd demo ➜ demo node 1.js 运行js文件

3.模块引入(模块引入是同步的)
(1)核心模块

nodeJS核心模块有:

  • fs 文件系统
  • global 全局变量
  • net 网络
  • util 实用工具
  • path 路径处理等

引入方式例如:

>let fs = require('fs');
(2)第三方模块

Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依 赖关系的模块进行统一管理,通过 NPM 命令来下载第三方的模块(包)。 完全符合 CommonJs 规范的包目录一般包含如下这些文件。

  • package.json :包描述文件。
  • bin :用于存放可执行二进制文件的目录。
  • lib :用于存放 JavaScript 代码的目录。
  • doc :用于存放文档的目录。

例如: 打开终端 执行

npm i vue –save

安装完毕后在文件中引入

引入方式和核心模块引入一样

(3)自定义模块

如果要引入自定义的模块,虽然可能在当前目录下,但是也需要注意路径,因为如果不加路径标识的话,很难分辨出来是引用的系统模块还是引用的当前目录里的模块,如下面这种,是分不清的:

let http = require('http'); let test = require('test.js');

——正确的写法是如下:

let test = require('./test.js');

5.nodeJS怎么调试

1.命令行调试

node inspect test.js

2.浏览器调试(不推荐 )

3.编辑器调试

下载Visual Studio Code,安装Code Runner插件,用编辑器打开你所需运行的文件,然后点击右键,选择Run Code即可

这一章我们对nodejs有个基础的认识以及为什么前端也需要掌握它,接下来我们开始愉快(折磨)的学习之旅吧!