Node.js 学习笔记

506 阅读5分钟

了解 Node.js

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 的官网地址: nodejs.org/zh-cn/

注意:
① 浏览器是 JavaScript 的前端运行环境。
② Node.js 是 JavaScript 的后端运行环境。
③ Node.js 中无法调用 DOM 和 BOM 等浏览器内置 API。

Node .js 可以用来做些什么?

① 基于 Express 框架(www.expressjs.com.cn/),可以快速构建 Web 应用
② 基于 Electron 框架(electronjs.org/),可以构建跨平台的桌…
③ 基于 restify 框架(restify.com/),可以快速构建 API 接口项目
④ 读写和操作数据库、创建实用的命令行工具辅助前端开发、etc…

Node.js 环境的安装

安装包
可以从 Node.js 的官网首页直接下载,
点击绿色的按钮,下载所需的版本后,双击直接安装即可。

版本
LTS 为长期稳定版,适合追求稳定性的企业级项目
Current 为新特性尝鲜版,适合热衷于尝试新特性的用户,不过可能存在隐藏的 Bug 或安全性漏洞。

查看已安装的 Node.js 的版本号
打开终端,在终端输入命令 node –v 后,按下回车键

如何打开终端

  • Windows 系统:使用快捷键(Windows徽标键 + R)打开运行面板,输入 cmd 后直接回车,即可打开终端。
  • Mac 系统:... ???

终端中的快捷键
在 Windows 的 powershell 或 cmd 终端中,我们可以通过如下快捷键,来提高终端的操作效率:
① 使用 ↑ 键,可以快速定位到上一次执行的命令
② 使用 tab 键,能够快速补全路径
③ 使用 esc 键,能够快速清空当前已输入的命令
④ 输入 cls 命令,可以清空终端

Node.js 的基本使用

如何在 Node.js 环境中执行一个js文件中 JavaScript 代码
在终端输入命令: node filePath
filePath 要执行的js文件的路径

Node.js 的组成

Node.js 的学习路径:
-> JavaScript 基础语法
-> Node.js 内置 API 模块(fs、path、http等)
-> 第三方 API 模块(express、mysql 等)

Node.js 内置 API 模块

  • fs 文件系统模块
  • path 路径模块
  • http +...

Node.js 的 fs 文件系统模块

fs 模块是 Node.js 官方提供的、用来操作文件的模块。

使用前需先导入fs 模块
const fs = require('fs')

常用的方法:
fs.readFile() 方法,用来读取指定文件中的内容
fs.writeFile() 方法,用来向指定的文件中写入内容

fs.readFile() 的语法格式

fs.readFile(path [,option], callback(err, result))
参数:
path 必选参数,字符串,表示文件的路径。
option 可选参数,表示以什么编码格式来读取文件。比如:utf8
callback 必选参数,文件读取完成后,通过回调函数拿到读取的结果。

回调函数的参数:
err 读取文件成功时,值为 null;读取文件失败时,值是一个对象。
result 读取文件失败时,值为 undefined;读取文件成功时,值为 文件的内容

可通过判断 err 的值是否为 null 来判断文件是否读取成功。

路径动态拼接的问题

提供文件路径时,如使用以 ./ ../ 开头的相对路径,很容易出现 路径动态拼接错误的问题 。

为什么呢?
因为代码在运行的时候,会以执行 node 命令时所处的目录,动态拼接出被操作文件的完整路径。

怎么解决呢?
在使用 fs 模块操作文件时,直接提供完整的路径,不要提供 ./ 或 ../ 开头的相对路径,从而防止路径动态拼接的问题。

__dirname 当前文件所处目录

__dirname + '/files/1.txt' 当前文件完整的路径

fs.writeFile() 的语法格式

fs.writeFile(path, data [,option], callback(err))
参数:
path 必选参数,字符串,表示文件的路径。
data :必选参数,表示要写入的内容。
option 可选参数,指定编码格式,默认值是 utf8
callback 必选参数,文件写入完成后的回调函数。

回调函数的参数:
err 写入文件成功时,值为 null;写入文件失败时,值是一个对象。

可通过判断 err 的值是否为 null 来判断文件写入是否成功。

Node.js 的 path 路径模块

path 模块是 Node.js 官方提供的、用来处理路径的模块。

使用前需先导入path 模块
const path = require('path')

常用的方法:
path.join() 方法,用来将多个路径片段拼接成一个完整的路径字符串
path.basename() 方法,用来从路径字符串中,将文件名解析出来
path.extname() 方法,可以获取路径中的扩展名部分

path.join() 的语法格式

path.join([...paths])

参数
...paths 必选参数,字符串,可接收任意个路径片段的序列

返回值:
一个字符串 ,也就是拼接好的路径片段的序列

注意点:
① 凡是涉及到路径拼接的操作,都要使用 path.join() 方法进行处理。不要直接使用 + 进行字符串的拼接。 path.join(__dirname, '/files/1.txt') 优于 __dirname + '/files/1.txt'
② 路径拼接时如遇到字符串 ../,一个../会抵消一层路径。

path.basename() 的语法格式

path.basename(path [,ext])

参数
path 必选参数,字符串,表示文件路径
ext 可选参数,表示文件扩展名

返回值:
一个字符串 ,获取到的路径中的最后一部分

经常通过这个方法获取路径中的文件名

path.extname() 的语法格式

path.extname(path)

参数
path 必选参数,字符串,表示文件路径

返回值:
一个字符串 ,获取到的文件的扩展名字符串


未完待续! 如有不对,请指正,谢谢!