开发环境
| 名称 | 版本 |
|---|---|
| 操作系统 | Windows 10 X64 |
| Node.js | v18.16.0 |
来源
文档地址
| 名称 | 地址 |
|---|---|
| Node.js | https://nodejs.org/zh-cn |
| Node.js 中文网 | http://www.nodejs.com.cn/ |
| Node.js 全版本淘宝镜像地址 | https://registry.npmmirror.com/binary.html?path=node/v18.16.0/ |
| Node.js API | https://nodejs.cn/api |
| Node.js 笔记 | notes/ 前端 / nodejs / 尚硅谷 |
| 课件,资料 | https://pan.baidu.com/s/1sDOMvUdY9UF3mlJ7ujOADg?pwd=s3wj |
Node.js 简介
来源:Node.js 是什么?
来源:Node.js 的作用
Node.js 是一个开源的,跨平台的 JavaScript 运行环境。
通俗来讲:Node.js 是 一款应用程序,是一款软件,它可以运行 JavaScript。
Node.js 在前端框架中的地位
Node.js 的作用
● 开发服务器应用
● 开发工具类应用,如 Webpack,Vite,Babel
● 开发桌面端应用,如基于 electron 的 VSCode,Postman
Node.js 安装
下载完毕后,运行 node-v18.16.0-x64.msi,一直下一步到安装完成即可
打开命令行窗口,输入 node -v 有结果说明 Node.js 安装成功
C:\WINDOWS\system32>node -vv18.16.0
命令行工具
参考:【DOS 基础】
Node.js 运行 JavaScript 文件
来源:Node.js 初体验
● 创建文件 01.helloword.js
console.log("hello word!");
● Node.js 运行 node 01.helloword.js
● 运行结果
PS D:\luoma\学习\Code\2023\前端\Node.js> node .\01.helloword.jshello word!
Node.js 注意点
来源:Node.js 注意点
● Node.js 不能使用 BOM,DOM 的 API,可以使用 console 和定时器 API
● Node.js 顶级对象为 global,也可以用 globalThis 访问顶级对象。
测试代码:02.zhuyi.js
//BOMconsole.log(window);//DOMconsole.log(document);
运行结果
D:\luoma\学习\Code\2023\前端\Node.js\02.zhuyi.jsconsole.log(window);^ReferenceError: window is not defined
require
来源:fs 模块-写入文件
● require 是 Node.js 环境中的全局变量,用来导入模块
● 这里,导入内置的文件操作模块 fs
● 案例:02_test.js
// require 是 Node.js 环境中的'全局'变量,用来导入模块// 这里,导入内置的文件操作模块 fsconst fs = require('fs');//将 『三人行,必有我师焉。』 写入到当前文件夹下的『座右铭.txt』文件中fs.writeFile('./座右铭.txt', '三人行,必有我师焉。', err => {//如果写入失败,则回调函数调用时,会传入错误对象,如写入成功,会传入 nullif(err){console.log(err);return;}console.log('写入成功');});
● 运行:node 02_test.js
PS D:\luoma\学习\Code\2023\前端\Node.js> node .\02.zhuyi.js写入成功
__dirname
来源:fs 模块-路径补充说明
● __dirname 与 require 类似,都是 Node.js 环境中的全局变量
● __dirname 保存着 当前文件所在目录的绝对路径 ,可以使用 __dirname 与文件名拼接成绝对路径
● 使用 fs 模块的时候,尽量使用 __dirname 将路径转化为绝对路径,这样可以避免相对路径产生的 Bug
● 案例:02_test.js
// require 是 Node.js 环境中的'全局'变量,用来导入模块// 这里,导入内置的文件操作模块 fsconst fs = require('fs');let data = fs.readFileSync(__dirname + '/座右铭.txt');console.log(data.toString());
● 运行:node 02_test.js
PS D:\luoma\学习\Code\2023\前端\Node.js> node .\02.test.js三人行,必有我师