前端或多或少都要懂一点node,虽然不一定能用到
我们先要认识什么是node
官方概念 :Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时
原封不动copy过来的官方解释,
说人话的话就是 : 一个用chrome浏览器V8引擎来跑JS代码的环境
那问题来来了,我们前端学习node里的什么
我认为学习node里的两部分就差不多了
一个是模块, 核心模块 自定义模块 第三方模块
还有一个就是npm包管理了
下载和安装应该是有手就行的吧
文档:API 文档 | Node.js 中文网 (nodejs.cn)
安装自己去下载安装吧,傻瓜式操作.建议不要改安装路径.建议下载稳定版
测试是否安装成功:打开任意一个小黑窗,输入node -v能够看到Nodejs版本号即为安装成功
小黑窗方法在下面
如果你还是不懂
打开小黑窗的4种方法
方法1:cmd窗口(window+R, --->运行-->录入cmd,回车)
方法2:在资源管理器中,打开任意目录,直接在地址栏中写入 cmd,并回车
在资源管理器中按下shift,同时点击鼠标右键,可以选择在此处打开powershell/命令行窗口
vscode中的右键,在命令行中运行在集成终端中打开
装完就开始跑js代码
先准备一个js文件
`let a = 1;
console.log(a + 2);`
在小黑屋里输入 node xxx.js
注意:node 的后面有一个空格 , xxx是你的js文件
打印台上能出现3就代表ok,以后想跑js文件就在小黑屋照着这样输入就行了
常用的node命令
node 空格 某个js文件 # 调用 node 程序,运行某个js文件
clear 或者 cls # 清空界面
ls/dir # 查看列表(list)
cd 目录名 # 进入到目录中去
cd .. # 返回上一级目录
cd \ # 直接回到根目录
Ctrl+C # 停止 Node 程序
输入部分文件名后按下 Tab 键 // 补全文件名 或 目录名, 多次tab会进行切换
↑ ↓ 上下箭头 # 切换历史输入
粘贴和复制都是鼠标右键,选中了鼠标右键是复制,在空白地方鼠标右键是粘贴.都只能在小黑屋里用
这些基础看完重点就来了:核心模块
- 核心模块就是 Node 内置的模块,需要通过唯一的标识名称来进行获取。
- 每一个核心模块基本上都是暴露了一个对象,里面包含一些方法供我们使用。
- 一般在加载核心模块的时候,变量(或常量)的起名最好就和核心模块的标识名同名。
- 例如:
const fs = require('fs'),const path = require('path')
fs模块
fs模块(fs是 FileSystem的简写)是Node.js用来进行文件操作的模块,它属于核心模块。你引入之后就可以直接使用了。
引入模块
const fs = require('fs');
可以使用var、let,但是建议使用const,因为我们不希望它被改变。 名字不必大写成FS,一般也就叫fs这个名字。
fs.各种API(实参)
方法请查文档, 不过一般常用的我都列出来的,可以去文档上对着用
| API | 作用 | 备注 |
|---|---|---|
| fs.access(path, callback) | 判断路径是否存在 | |
| fs.appendFile(file, data, callback) | 向文件中追加内容 | |
| fs.copyFile(src, callback) | 复制文件 | |
| fs.mkdir(path, callback) | 创建目录 | |
| fs.readDir(path, callback) | 读取目录列表 | |
| fs.rename(oldPath, newPath, callback) | 重命名文件/目录 | |
| fs.rmdir(path, callback) | 删除目录 | 只能删除空目录 |
| fs.stat(path, callback) | 获取文件/目录信息 | |
| fs.unlink(path, callback) | 删除文件 | |
| fs.watch(filename[, options][, listener]) | 监视文件/目录 | |
| fs.watchFile(filename[, options], listener) | 监视文件 | |
| fs.existsSync(absolutePath) | 判断路径是否存在 |
path模块
作用
作用是用来处理路径问题:拼接,分析,取后缀名等等。
- 官网文档地址
- 是node中的核心模块之一
使用和fs大同小异,只是功能不同
| 方法 | 作用 |
|---|---|
| path.basename(path[, ext]) | 获取返回 path 的最后一部分(文件名) |
| path.dirname(path) | 返回目录名 |
| path.extname(path) | 返回路径中文件的扩展名(包含.) |
| path.format(pathObject) | 将一个对象格式化为一个路径字符串 |
| path.join([...paths]) | 拼接路径 |
| path.parse(path) | 把路径字符串解析成对象的格式 |
| path.resolve([...paths]) | 基于当前工作目录拼接路径 |
看完有没有感觉好像懂了什么,又好像什么都没懂