Nodejs基础和常见API

295 阅读4分钟

Nodejs编程

虎哥说IT

gogery@163.com


第0章 Nodejs介绍

0.0 回顾 JavaScript

  • 历史及发展

    1995年 网景公司的布兰登开发;

    1997年7月,ECMA组织发布ECMAScript 1.0版;

    2007年10月发布3.1版本后不久,ECMAScript 3.1改名为 ECMAScript 5。

    2008年,为Chrome浏览器而开发的V8编译器诞生

    2011年6月,ECMAscript 5.1版发布,现在使用最为广泛的版本;

    2015年6月,ECMAScript 6正式发布,并且更名为“ECMAScript 2015”;

  • 如何学习JavaScript

    JavaScript 的核心语法部分相当精简,也就是语言本身,只包括两个部分:

    • 基本的语法构造(比如操作符、控制结构、语句)
    • 标准库(就是一系列具有各种功能的对象比如Array、Date、Math等)。

    想要实现其他复杂的操作和效果,都要依靠 宿主环境 提供API,目前,已经嵌入 JavaScript 的宿主环境有多种,最常见的环境就是 浏览器操作系统 ;

0.1 Node是什么?

Nodejs 是一个基于Chrome V8 引擎的JavaScript 运行环境。

Nodejs 不是一种独立的语言。

Nodejs是一个除了浏览器之外的、可以让JavaScript 运行的环境。

Node.js 是一个让 JavaScript 运行在服务端的开发平台,是使用 事件驱动, 异步非阻塞I/O,单线程,跨平台的 JS 运行环境。

0.2 为什么要学习 Node

  • 打开服务器的黑盒子
  • 企业需求
  • 大前端必备技能
  • 为了更好的学习前端框架

0.3 Node 能做什么?

  • Web 服务器
  • 接口服务器
  • 实时通信系统
  • 桌面应用程序(GUI)(借助 node-webkit,electron等框架实现)

0.4 一些有用的资源

  1. 文档和社区

    Node.js 官方文档 Node.js 中文文档(非官方)

    Node.js中文社区

  2. 书籍资源

    Node.js 包教不包会 ECMAScript 6 入门 七天学会 NodeJS

0.5 Node 发展历史

你需要了解的Node.js 发展史

第1章 Nodejs起步

1.1 下载安装

Windows下安装:

  1. 下载软件后,双击软件,全程下一步即可安装完成
  2. 安装成功后,Windows + r 键 ---> 打开命令行,输入 : node --version 或者 node -v (显示node的版本号)
C:\Users\Administrator>node --version
v10.16.0

其他平台的安装方式:

nodejs.org/zh-cn/downl…

注意: 对于已经装过的,重新安装就会升级。

1.2 REPL环境

REPL是 Read Eval Print Loop的间歇,翻译过来就是: 交互式解释器)。通俗一点理解 REPL 是一个可以执行JavaScript代码的环境,类似于浏览器中的 Console控制台 ,可以做一些代码测试。

演示:

C:\Users\Administrator>node
> var a = 12
undefined
> var b = 24
undefined
> var c = a + b
undefined
> c
36
>

注意:

按 **ctrl + 两次c ** 退出REPL环境

1.3 node运行js代码

使用REPL可以执行js代码,但是这样如果要写大规模的代码,这些写起来很繁琐,所以,我们一般不会在REPL环境下写代码,而是将代码写在一个单独的.js文件中,然后调用 node 命令执行该文件里面的代码。

E:\code\day1>node E:\code\day1\test.js
node命令行执行了代码!

注意:

  1. 文件的路径可以是绝对路径
  2. 文件的路径也可以是相对路径,但是如果是相对路径执行,请确保是在当前文件所在的文件夹下打开的命令行窗口。

第2章 Nodejs之模块

nodejs一个重要的特性就是模块化,模块就是node.js对常用功能进行分组的方式。

2.1 Nodejs的模块规范

Nodejs使用模块化来组织JS代码,模块规范采用CommonJS规范

  1. 在CommonJS规范中,通过 require() 方法,以此引入一个模块的API到当前上下文中。
  2. 通过 module.exports 对象用于导出当前模块的方法和变量。

注意:传递给requrie()方法的参数,它必须是符合小驼峰命名的字符串,或者是以...开头的相对路径,或者绝对路径,它可以没有文件名后缀.js

2.2 模块分类

  1. 核心模块
  2. 第三方模块
  3. 自定义模块

2.3 常见核心模块讲解

2.3.1 fs模块

node核心模块之一,用于操作文件;

中文手册 : nodejs.cn/api/fs.html

  • 文件读写

  • 追加内容

2.3.2 HTTP模块

node核心模块之一,用于搭建HTTP服务器;

中文手册 nodejs.cn/api/http.ht…

  • 搭建web服务器
  • HTTP请求与响应
  • 响应 HTML 页面
  • 响应其他静态资源

扩展资料

知乎 - Node.js能做什么,该做什么?

常见文件MIME查看

作业

  1. 通过阅读官方文档,查询出获取文件的其他属性的API
  2. 遍历服务器网站根目录下的列表信息