1.Nodejs简介
什么是nodejs?
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 v8解析js是最快的
nodejs是让js运行在服务器端
nodejs里面的API大多数都是异步
服务器端的js和浏览器端的js有什么区别?
客户端的js三个组成部分 :
DOM 文档对象模型 js操作网页内容的一套API
BOM 浏览器对象模型 js操作浏览器页面的一套API
ECMAScript 一套js语法的规范 for
服务端的js 只有ECMAScript 独立于浏览器运行的
nodejs内置模块
fs文件模块
// 导入模块 require("模块名") 模块名是nodejs内部规定死的 不能动
// 左边保存的变量可以修改 但是通常情况下和模块名保持一致
const fs = require('fs');
// 读取文件
// 参数1 : 需要被读取的文件的路径
// 参数2 : 可选参数 我们这里给的是编码格式
// 参数3 : 回调函数 里面有连个参数 err 表示读取失败时返回的信息 data是读取到的文件信息
fs.readFile("./novels/01.txt","utf-8", (err, data) => {
// console.log(err);
// console.log(data);
if(!err) {
console.log(data);
} else {
console.log("文件读取失败");
}
})
// nodejs里面 如果有sync结尾的方法都是同步的方法
// var novel = fs.readFileSync("./novels/01.txt", "utf-8");
// 写入文件
// 参数1 : 存入信息或者数据的文件路径
// 参数2 : 需要写入的数据
// 参数3 : 回调函数
fs.writeFile("./novels/02.txt", "我是第二个文件的内容", err => {
// console.log(err);
if(!err) {
console.log('写入成功');
} else {
console.log("写入失败");
}
})
http服务器模块
// 导入模块
const http = require('http')
// 创建服务器对象
const server = http.createServer((request,response) =>{
// 请求路径
console.log(request.url);
// 请求方式
console.log(request.method);
// 设置响应头 用utf-8解析
response.setHeader('content-type','text/html;charset=utf-8')
response.end("响应内容")
})
// 地址可以省略 但是端口号不行 地址默认是127.0.0.1
server.listen('80',()=>{
console.log('start');
})
关于路径
nodejs里面的相对路径 是相对于当前运行node命令的终端所处的相对路径
为了保证在任何地方打开终端 都可以运行 那么我们的路径使用绝对路径
__dirname 是当前文件所在的绝对路径
__filename 是当前文件的绝对路径
const fs = require("fs")
fs.readFile(__dirname +"\\novels\\01.txt","utf-8",(err,data)=>{
console.log(data);
})
console.log(__dirname+"\\novels\\01.txt");
console.log(__filename);
path路径模块
// 导入模块
const path = require("path")
const fs = require("fs")
const pathName = path.join("name","info","asset","index.html")
console.log(pathName);
// 在使用到路径的地方 使用绝对路径
const txtPath = path.join(__dirname,"novels","01.txt")
console.log(txtPath);
// 读取文件
fs.readFile(txtPath,"utf-8",(err,data)=>{
if(!err){
console.log(data);
}else{
console.log(err);
}
})