node前言 v8引擎 nodemon nodeJs模块

1. 什么是Node

Node.js 是一个基于chrome v8引擎的javascript 运行环境,简单的说 Node.js 就是运行在服务端的 JavaScript。

它的特点是:事件驱动,非阻塞式I/O的模型,轻量和高效,单线程、单进程。

它的作用:Node.js可以用来解析js代码(没有浏览器安全级别的限制)、提供很多系统级别的API、操作文件的读写、进程的管理、网络的通信。

node.js的模块系统,是参照CommonJS规范实现的。CommonJs规范加载模块是同步的,也就是说,只能加载完成,才能执行后面的操作。由于node.js主要用于服务器编程,模块文件一般都已经存在于本地硬盘,所以加载起来比较快,不用考虑非同步加载的方式,所以CommonJs规范比较适用。

有关CommonJs规范的详细内容,可以点击这里查看

1.1 node 安装

从官网上下载 node 安装包进行安装,官网下载地址:http://nodejs.cn/download/

如果 Mac 系统的话,也可以通过 brew 命令来安装:brew install node

1.2 对node.js的理解

  • node.js中每个文件就是一个模块,不同的文件就是不同的模块;
  • 引用模块的语法,使用 require(模块路径);
  • 导出语法有两种:一是module.exports,二是exports,使用 module.exports,可以直接导出单一的值,而使用exports ,不能直接导出单一的值;
  • 只要导出的变量名称不相同,一个文件可以导出多个内容;

在正式开始学习node之前,我们先来认识一下什么是v8引擎、nvm 和 npm:

2、关于 v8 引擎

  • v8 引擎是谷歌开源的一个高性能 JavaScript 引擎
  • Google Chrome 浏览器用的就是这个引擎
  • 采用 C++ 编写
  • V8 可以单独运行,也可以嵌入 C++ 应用当中
  • V8 会编译、执行 JavaScript 代码,并一样会管理内存、垃圾回收
  • V8 的高性能以及跨平台等特性,所以它也是 Node.js 的 JavaScript 引擎
  • JIT 编译出即时机器码,极大提高效率
  • 借鉴java vm 垃圾回收,精确垃圾回收

3. node.js和javascript的区别

  • node 里没有Dom和Bom对象
  • node 可以用 process 查看进程信息,而js 不可以
  • js 可以在控制台输出 window 对象,而node 不可以
  • node中很多内置模块,js 中都没有

3.1 在命令行中体验node

$ node,在命令行中输入 node 回车,进入node环境,可以直接编写node代码。

如下图,按ctrl+c,可退出编辑模式。
node
在浏览器和node中运行 window 和 process对象,
node

3.2 运行node

编写一个可执行的js文件,命名为app.js

function greeting(){
   return “NodeJs”;
}
console.log(greeting());

在命令行中输入 node index.js,执行代码,结果如下:
node

3.2.1 nodemon

每次修改完文件后,都需要重启node服务,操作比较麻烦,如果想实现node代码的热更新,实时监测文件的变化,我们可以使用nodemon这个插件。

全局安装
npm install -g nodemon

启动热更新
nodemon app.js

4. node.js模块

因为node.js是基于CommonJs规范的,所以在node.js模块系统中,每个文件都被视为是一个独立的模块。

node.js模块主要分为三类:内置模块、第三方模块、自定义模块。

4.1 内置模块

常用的一些内置模块有:

  • url,用于处理与解析 URL;
  • querystring,用于解析和格式化 URL 查询字符串;
  • http,HTTP服务;
  • path,路径,用于处理文件路径和目录路径;
  • fs,文件系统,用于文件的读写操作;
  • events,事件触发器,用于事件的派发与监听;

点击查看,nodeJs常用内置模块详细介绍。

4.2 第三方模块

npmjs.com官网上,我们可以下载别人已经封装好的模块到自己的项目中使用,这些模块都是第三方模块,例如http-proxy-middleware,用来设置代理,使用第三方模块,可以提高项目的开发效率,要注意,在安装模块版本的时候,不建议安装最新版的,容易有bug。
node

4.3 自定义模块

我们可以从官网上下载别人写好的模块直接使用,也可以按照自己的项目需要,封装模块,发布到官网上,让别人来下载使用。

这里说一下npm包发布的流程:

  1. 注册npmjs官网账号,官网地址:https://www.npmjs.com/
  2. 创建你要发布的项目,创建完成后,在终端执行npm init -y, 生成Package.json 文件,填写包的名称、版本号、入口文件等,要保证包的名称在官网上是唯一的;
  3. 执行发布,终端输入npm login回车,输入账号,密码,登录npmjs官网;然后输npm publish,就可以将包发布到官网了;
  4. 查看,打开npmjs网站 ,进入个人中心–>packages,就可以看到发布的包;
  5. 更新,修改完代码内容后,改变package.json里面版本号,再执行npm publish,就可以更新发布了,在官网上可以看到自己发布过的版本;
  6. 使用方式,终端中使用npm i 包名称安装包,然后在文件中使用require(包名称),将包导入自己的项目中,就可以使用了;
  7. 撤销已经发布的包版本,终端中输入npm unpublish 包名称@版本号
发布了130 篇原创文章 · 获赞 46 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/Charissa2017/article/details/104906749