1. 什么是 Node.js ?
基于 Chrome 的 V8引擎封装,独立执行JavaScript代码的环境
定义:Node.js 是一个跨平台JavaScript运行环境,使开发者可以搭建服务器端的JavaScript应用程序。
作用:使用Node.js编写服务器端程序
编写后端程序:提供数据和网页资源等
前端工程化:集成各种开发中使用的工具和技术
2. 什么是前端工程化?
前端工程化:开发项目直到上线,过程中集成的所有工具和技术
3. Node.js 为何能执行JS ?
首先:浏览器能执行 JS 代码,依靠的是内核中的V8引擎(C++程序)
其次:Node.js 是基于 Chrome V8 引擎进行封装(运行环境)
区别:都支持 ECMAScript 标准语法,Node.js 有独立的 API
注意:Node.js 环境中没有 DOM 和 BOM
4. Node.js 安装
注意事项:
1. 安装在非中文路径下
2. 无需勾选自动安装其他配置软件
成功验证:打开cmd终端,输入 node -v 命令查看版本号
5. 使用 Node.js
命令:在 vscode 集成终端中,输入 node xx.js,回车即可执行
fs 模块 ——读写文件
模块: 类似插件,封装了属性/方法
fs模块:封装了与本机文件系统进行交互的属性/方法
语法:1. 加载 fs模块对象
2. 写入文件内容
3. 读取文件内容
在集成终端中打开
运行后
path 模块——路径处理
问题:Node.js 中,相对路径是根据终端所在路径来查找的,可能无法找到你想要的文件
解决:在 Node.js 代码中,使用绝对路径
1. __dirname
内置变量 (获取当前文件所在文件夹——绝对地址)
2. path.join()
会使用特定于平台的分隔符,作为定界符,将所有给定的路径片段连接在一起
语法:
1. 加载 path 模块
const path = require('path')
2. 使用 path.join 方法,拼接路径
path.join('路径1', '路径2', ...)
path.join('03', 'dist/js', 'index.js') // windows: '03\dist\js\index.js' // mac: '03/dist/js/index.js'
案例 - 压缩前端 html
需求:把 回车符(\r) 和 换行符(\n) 去掉后,写入到新的 html 文件中
步骤:
1. 读取 源html 文件内容
2. 正则替换字符串
3. 写入到 新html 文件中
需要压缩的文件是public文件夹下的index.html
在 dist文件夹下生成新的index.html
URL 中的端口号
注意:0-1023 和一些特定端口号被占用,我们自己编写服务程序请避开使用
http 模块——创建 web 服务
需求:创建web服务并响应内容给浏览器
步骤 :
1. 加载 http模块,创建 web服务对象
2. 监听 request请求事件,设置响应头和响应体
3. 配置端口号并启动 web服务
4. 浏览器请求 http://localhost:3000 测试
浏览时钟
需求:基于web服务,开发提供网页资源的功能
步骤:
1. 基于 http模块,创建 web服务
2. 使用 req.url 获取请求资源路径,判断并读取 index.html 里字符串内容返回给请求方
3. 其他路径,暂时返回不存在的提示
4. 运行 web服务,用浏览器发起请求测试