开发环境
名称 | 版本 |
---|---|
操作系统 | 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 -v
v18.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.js
hello word!
Node.js 注意点
来源:Node.js 注意点
● Node.js 不能使用 BOM
,DOM
的 API,可以使用 console
和定时器 API
● Node.js 顶级对象为 global
,也可以用 globalThis
访问顶级对象。
测试代码:02.zhuyi.js
//BOM
console.log(window);
//DOM
console.log(document);
运行结果
D:\luoma\学习\Code\2023\前端\Node.js\02.zhuyi.js
console.log(window);
^
ReferenceError: window is not defined
require
来源:fs 模块-写入文件
● require
是 Node.js 环境中的全局
变量,用来导入模块
● 这里,导入内置的文件操作模块 fs
● 案例:02_test.js
// require 是 Node.js 环境中的'全局'变量,用来导入模块
// 这里,导入内置的文件操作模块 fs
const fs = require('fs');
//将 『三人行,必有我师焉。』 写入到当前文件夹下的『座右铭.txt』文件中
fs.writeFile('./座右铭.txt', '三人行,必有我师焉。', err => {
//如果写入失败,则回调函数调用时,会传入错误对象,如写入成功,会传入 null
if(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
与 requir
e 类似,都是 Node.js
环境中的全局
变量
● __dirname
保存着 当前文件所在目录的绝对路径 ,可以使用 __dirname
与文件名拼接成绝对路径
● 使用 fs
模块的时候,尽量使用 __dirname
将路径转化为绝对路径,这样可以避免相对路径产生的 Bug
● 案例:02_test.js
// require 是 Node.js 环境中的'全局'变量,用来导入模块
// 这里,导入内置的文件操作模块 fs
const 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
三人行,必有我师