Node.js 相关知识
- node -v 查看版本
- node 要执行的js文件 (打开js文件)
- node
-
在JavaScript 代码中使用 fs 模块
- const fs = require(‘fs’);
-
文件路径问题
- __ dirname 表示当前文件夹所处的路径 (双下划线)
- __dirname + /a/b/c
-
fs.readFile(path, [ options] , callback)
// 1.导入 fs 模块,来操作文件
const fs = require('fs');
// 2. 调用fs.readFile()方法读取文件
// 参数1:读取文件的存放路径
// 参数2:读取文件时采用的编码格式,默认为 (utf8)
// 参数3:回调函数,拿到读取失败和成功的结恶果 err dataStr
fs.readFile('./1.js','utf8',function(err,dataStr) {
//判断文件是否读取成功
if(err){
console.log("文件读取失败",err.message)
}else {
console.log("文件读取成功",dataStr)
}
})
- fs.writeFile(path, data, [options], callback)
const fs = require("fs")
fs.writeFile('./text/01.txt','abc',function(err) {
if(err) {
return console.log("文件写入失败" + err.message);
}else {
console.log("文件写入成功");
}
})
//出现路径拼接错误时可以是使用 绝对路径
// D:\\a\\b\\c \\js 中"\" 需要转义符
//__dirname 表示当前文件夹所处的路径 (双下划线)
//__dirname + /a/b/c
- path.join()
- path.basename(path, [ext]) ext 表示文件的扩展名
- path.extname(path) 获取文件的扩展名
//引入path
const path = require('path')
//注意 ../ 会抵消当前的路径
const pathStr = path.join('/a', '/b/c', '/d', 'e')
console.log(pathStr) // \a\b\d\e
//path.basename(path, [ext])
//定义文件存放的路径
const fpath = '/a/b/c/index.html'
const fullName = path.basename(fpath) // index.html
const nameWithoutExt = path.basename(fpath,'.html') //index
//1.导入http 模块
const http = require('http')
//2.创建web 服务器实例
const server = http.createServer()
//3.为服务器实例绑定 request(事件名称) 事件,监听客户端的请求
server.on('request', (req,res) => {
//req.url 是客户端请求的 url 地址
const url = req.url
//req.method 是客户端请求的 method 类型
const method = req.method
const str = `Your request url is ${url}, and request method is ${method}`
const str1 = `您的请求地址是:${url}, and request method is ${method}`
//调用res.setHeader()方法,设置Content-Type 响应头,解决中文乱码的问题
res.setHeader('Content-Type','text/html; charset=utf-8')
//调用res.end() 方法,向客户端响应一些内容,并且结束请求的处理过程
res.end(str + str1)
})
//4.启动服务器
server.listen(8080,() => {
console.log("server running");
})
- 根据不同的url 响应不同的html
// 1.导入 http 模块
const http = require('http')
//2.创建一个服务器实例
const server = http.createServer()
//3.为服务器实例绑定 request 事件,监听客户端的请求
server.on('request',(req,res) => {
//3.1 获取url地址
const url = req.url
//3.2 设置默认的响应内内容
let content = '<h1>404 not found</h1>'
//3.3 判断用户的请求
if(url === '/' || url === '/index.html'){
content = '<h3> 欢迎来到首页 </h3>'
}else if (url === '/name.html') {
content = '<h3>My name is lz</h3>'
}
//3.4 调用res.setHeader()方法,设置Content-Type 响应头,解决中文乱码的问题
res.setHeader('Content-Type','text/html; charset=utf-8')
//3.5使用 res.end 把内容响应给客户端
res.end(content)
})
//4.启动服务器
server.listen(8081,() => {
console.log("server running");
})
-
加载模块 require()
- 引入require(),得到的永远是 module.exports 指向的对象
-
module.exports 对象
- 将模块内的成员共享出去
-
exports === module.exports
-
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uLWXS9Gz-1659508641368)(C:\Users\liuzhao\AppData\Roaming\Typora\typora-user-images\image-20220802110221617.png)]
- 安装命令 npm install 包的完整名称 //简写 npm i 包的完整名称
- npm i 包名@版本号
- node_modules
- 存放所有已安装到项目的包
- package-lock.json
- 记录每个包的信息 ,名字、版本号、下载地址等
- package.json
- npm init -y 文件储存的路径必须是英文的
- 记录包的名字和版本号
- npm install 先读取 package.json 中的 dependencies 节点,读取到所有依赖包名称后会进行下载
- npm uninstall 包名子
- 淘宝npm镜像服务器 加速下载
- npm i nrm -g
- nrm ls
- nrm use taobao
- 包分类
- npm i 包名 核心依赖包 记录到dependcies ,开发和项目上线之后都会用到
- npm i 包名 -D 开发依赖包 记录到devDependcies ,只在开发期间用到
- i5ting_toc
- 将md文件装换为 html
- npm install -g i5ting_toc
- i5ting_toc -f 要转换的md文件路径 -o