Node.js和浏览器的区别
简单讲解Node.js和浏览器的区别:
js组成:ECMAScript + BOM +DOM
nodejs组成:ECMAScript + 内置模块
相同点:
1.都是可以运行js代码的容器,更严格一点说,都可以运行ECMAScript;
2.要下载安装才能使用.
不同点:
1.各有不同的API:nodejs运行js时,不能写DOM,BOM,也不能用Window对象;
2.Nodejs环境可以去实现后端的功能;
3.浏览器环境可以去实现前端的功能.
Node.js模块分为三类
核心模块
nodejs自带模块
自定义模块
程序员自写模块
第三方模块
其他程序员写好的模块
Node.js模块中的核心模块
一.fs模块
fs模块(fs是 FileSystem的简写)是Node.js用来进行文件操作的模块,它属于核心模块
模块使用步骤:
1.引入模块
const fs = require('fs')
2.调用api实现需求
fs.各种API(实参)
1.fs.readFileSync--文件读取
const fs = require("fs")
let rs = fs.readFileSync('文件路径',"utf8")
// rs 就是读出来的内容
console.log(rs)
注意:api的名字结尾有Sync(async是异步的,sync表示同步的)
2.fs.writeFileSync--文件写入
功能:向指定文件中写入字符串, 如果没有该文件则尝试创建该文件
fs.writeFileSync(pathName, content, option);
// 参数1: 要写入的文件路径 --- 相对路径和绝对路径均可,推荐使用绝对路径
// 参数2: 要写入文件的内容
// 参数3: 配置项,设置写入的字符集,默认utf-8
3.捕获同步格式中的错误对象
如果读成功,则会获取读出来的数据,如果失败了,则会中断后续所有的代码执行。
try catch
try {
可能会有错误的代码
} catch(err){
如果try内的代码有错误,就会进入catch,并把错误传进来
}
二.Node.js中获取绝对路径的方法
绝对路径:从磁盘根目录开始到指定文件的路径.
相对路径:是以某个文件的位置为起点,相对于这个位置来找另一个文件
1.__dirname:获取当前被执行的文件的文件夹所处的绝对路径
2.__filename:获取当前被执行的文件的绝对路径
在文件操作时,推荐使用绝对路径,相对稳定.
三.path模块
使用path模块步骤同fs模块
用path模块解决文件读写中的路径拼写问题
// 拼接html5.jpg的绝对路径
// 1) 找到当前文件夹的绝对路径
console.log(__dirname)
// 2) 加上 html5.jpg
const fs = require('fs')
const path = require('path')
const filePath = path.join(__dirname, 'html5.jpg')
// const filePath = __dirname + '\\html5.jpg'
// 走一步,看一步
console.log(filePath)
fs.readFile(filePath,function(err, data) {
if(err) {
console.log(err)
return
}
console.log(data)
})
四.附录(fs模块和path模块常用API)
fs模块:
path模块: