Node.js-入门
Node.js 简介
定义: Node.js
是一个跨平台JavaScript运行环境,使开发者可以搭建服务器的JavaScript应用程序
作用:使用Node.js
编写服务器端程序
- 编写数据接口,提供网页资源浏览功能等等
- 前端工程化:为后续学习vue和React等框架做铺垫
前端工程化:开发项目直到上线,过程中集成的所有工具和技术,Node.js是前端工程化的基础(因为Node.js可以主动读取前端代码内容)
- 浏览器能够执行JS代码,依靠的是内核中的V8引擎(C++程序)
- Node.js是基于Chrome V8引擎进行封装(运行环境)
- 区别是都支持ECMAScript标准语法,Node.js有独立的API,但是Node.js环境没有DOM和BOM等
Node.js 安装
Node.js下载:官网下载地址
注意事项:
- 安装在非中文路径下
- 无需勾选自动安装其他配套软件
成功验证:
- 在cmd终端,输入
node -v
命令查看版本号 - 显示版本号即为安装成功
Node.js 使用
操作:新建.js
文件,编写代码后在node环境下执行
命令:在cmd终端当前目录下,输入node xxx.js
,执行.js
文件
1 | console.log('Hello Node.js') |
fs模块-读写文件
模块:类似插件,封装了方法/属性
fs 模块:封装了与本机文件系统进行交互的方法/属性
语法:
- 加载 fs 模块对象
- 写入文件内容
- 读取文件内容
1 | // 引入fs模块 |
- 这么写的原因是writeFile和readFile都是异步操作,所以无法确定谁会先执行完成。我试了几次都是先读取才写入,所以写了判断条件,写入完成才能读取。
path模块-路径处理
问题:Node.js 代码中,相对路径是根据终端所在路径来查找的,可能无法找到你想要的文件
建议:在 Node.js 代码中,使用绝对路径
补充:__dirname
内置变量(获取当前模块目录-绝对路径)
- windows: D:\备课代码\3-B站课程\03_Node.js与Webpack\03-code\03
- mac: /Users/xxx/Desktop/备课代码/3-B站课程/03_Node.js与Webpack/03-code/03
注意:path.join() 会使用特定于平台的分隔符,作为定界符,将所有给定的路径片段连接在一起
语法:
- 加载 path 模块
- 使用
path.join
方法,拼接路径
1 | const fs = require('fs') |
http模块-创建Web服务
需求:创建 Web 服务并响应内容给浏览器
步骤:
- 加载 http 模块,创建 Web 服务对象
- 监听 request 请求事件,设置响应头和响应体
- 配置端口号并启动 Web 服务
- 浏览器请求
http://localhost:3000
测试(localhost:固定代表本机的域名)
1 | // 加载http模块,创建Web服务器对象 |
访问本地网页资源
步骤:
- 基于http模块,创建Web服务器
- 使用req.url获取请求路径,然后响应请求资源的内容
- 运行Web服务,使用浏览器发起请求
1 | const fs = require('fs') |
评论