网站建设南阳,自媒体注册平台,网络服务商怎么联系,做一个网站怎么做一.什么是 Node.js Node.js 是一个独立的 JavaScript 运行环境#xff0c;能独立执行 JS 代码#xff0c;因为这个特点#xff0c;它可以用来编写服务器后端的应用程序 Node.js 作用除了编写后端应用程序#xff0c;也可以对前端代码进行压缩#xff0c;转译#xff0c;…一.什么是 Node.js Node.js 是一个独立的 JavaScript 运行环境能独立执行 JS 代码因为这个特点它可以用来编写服务器后端的应用程序 Node.js 作用除了编写后端应用程序也可以对前端代码进行压缩转译整合等等提高前端开发和运行效率 Node.js 基于Chrome V8 引擎封装独立执行 JS 代码但是语法和浏览器环境的 V8 有所不同没有 document 和 window 但是都支持 ECMAScript 标准的代码语法 想要得到 Node.js 需要把这个软件安装到电脑在素材里有安装程序window 和 mac 环境的参考 PPT 默认下一步安装即可 Node.js 没有图形化界面需要使用 cmd 终端命令行利用一些命令来操控电脑执行某些程序软件输入node -v 检查是否安装成功 node -v需求新建 index.js 文件编写打印代码和 for 循环打印 3 个 6 /*** 目标编写 js 代码用 node 命令执行* 终端作用敲击命令调用对应程序执行* 终端打开目标文件-右键-在集成终端中打开* 命令node xxx.js 注意路径*/
console.log(Hello, World)
for (let i 0; i 3; i) {console.log(6)
}Node.js 执行目标 JS 文件需要使用 node xxx.js 命令来执行我们可以借助 VSCode 集成终端使用好处可以快速切换到目标 JS 文件所在终端目录利用相对路径找到要执行的目标 JS 文件
二.fs模块-读写文件
1. 模块
类似插件封装了方法和属性供我们使用
2. fs 模块
封装了与本机文件系统进行交互的方法和属性
3. fs 模块使用语法如下 加载 fs 模块得到 fs 对象 const fs require(fs)写入文件内容语法 fs.writeFile(文件路径, 写入内容, err {// 写入后的回调函数
})读取文件内容的语法 fs.readFile(文件路径, (err, data) {// 读取后的回调函数// data 是文件内容的 Buffer 数据流
})4. 需求
向 test.txt 文件写入内容并读取打印
/*** 目标使用 fs 模块读写文件内容* 语法* 1. 引入 fs 模块* 2. 调用 writeFile 写入内容* 3. 调用 readFile 读取内容*/
// 1. 引入 fs 模块
const fs require(fs)
// 2. 调用 writeFile 写入内容
// 注意建议写入字符串内容会覆盖目标文件所有内容
fs.writeFile(./text.txt, 欢迎使用 fs 模块读写文件内容, err {if (err) console.log(err)else console.log(写入成功)
})
// 3. 调用 readFile 读取内容
fs.readFile(./text.txt, (err, data) {if (err) console.log(err)else console.log(data.toString()) // 把 Buffer 数据流转成字符串类型
})三.path模块-路径处理
1. 为什么在 Node.js 待执行的 JS 代码中要用绝对路径 Node.js 执行 JS 代码时代码中的路径都是以终端所在文件夹出发查找相对路径而不是以我们认为的从代码本身出发会遇到问题所以在 Node.js 要执行的代码中访问其他文件建议使用绝对路径 2. 问题
新建 03 文件夹编写待执行的 JS 代码访问外层相对路径下的文件然后在最外层终端路径来执行目标文件造成问题 3. 问题原因
就是从代码文件夹出发使用../text.txt解析路径找不到目标文件报错了
4. 解决方案
使用模块内置变量 __dirname配合 path.join() 来得到绝对路径使用
const fs require(fs)
console.log(__dirname) // D:\备课代码\2_node_3天\Node_代码\Day01_Node.js入门\代码\03// 1. 加载 path 模块
const path require(path)
// 2. 使用 path.join() 来拼接路径
const pathStr path.join(__dirname, .., text.txt)
console.log(pathStr)fs.readFile(pathStr, (err, data) {if (err) console.log(err)else console.log(data.toString())
})再次执行查看问题就被修复了以后在 Node.js 要执行的 JS 代码中访问其他文件的路径都建议使用绝对路径
四.http模块-创建Web服务
1. 需求
引入 http 模块使用相关语法创建 Web 服务程序响应返回给请求方一句提示 ‘helloworld’
2. 步骤
引入 http 模块创建 Web 服务对象监听 request 请求事件对本次请求做一些响应处理启动 Web 服务监听对应端口号运行本服务在终端进程中用浏览器发起请求
3. 注意
本机的域名叫做 localhost
4. 代码如下
/*** 目标基于 http 模块创建 Web 服务程序* 1.1 加载 http 模块创建 Web 服务对象* 1.2 监听 request 请求事件设置响应头和响应体* 1.3 配置端口号并启动 Web 服务* 1.4 浏览器请求http://localhost:3000测试*/
// 1.1 加载 http 模块创建 Web 服务对象
const http require(http)
const server http.createServer()
// 1.2 监听 request 请求事件设置响应头和响应体
server.on(request, (req, res) {// 设置响应头-内容类型-普通文本以及中文编码格式res.setHeader(Content-Type, text/plain;charsetutf-8)// 设置响应体内容结束本次请求与响应res.end(欢迎使用 Node.js 和 http 模块创建的 Web 服务)
})
// 1.3 配置端口号并启动 Web 服务
server.listen(3000, () {console.log(Web 服务启动成功了)
})小结
1. Node.js 有什么用
编写后端程序提供数据和网页资源还可以作为前端工程化的工具翻译压缩整合代码等提高开发效率
2. Node.js 为何能执行 JS 代码
基于 Chrome 的 V8 引擎封装
3. Node.js 与浏览器环境的 JS 最大区别
Node.js 环境中没有 BOM 和 DOM但是也用 JS 语法
4. Node.js 如何执行代码
在 VSCode 终端中输入node xxx.js 回车即可执行注意路径
5. 什么是模块
类似插件封装了方法和属性
6. fs 模块的作用
读写本机文件内容
7. path.join() 方法有什么用
按照所在本机系统的分隔符作为定界符来链接你传入的路径
8. __dirname 模块内置变量的值是多少
动态获取当前文件所在文件夹的绝对路径
9. 如何访问本机里运行的 Web 服务
http://localhost:Web服务的端口号/资源路径