node的基础api的使用

140 阅读2分钟

fs文件系统模块

fs.readFile

const fs = require('fs');
fs.readFile('./files.txt', 'utf8', (err, daraStr) => {
    // 如果读取成功,err为null
    // 如果读取失败,err为错误对象
    console.log(err);
    console.log('-------');
    console.log(dataStr);
})

image.png

fs.wirteFile

语法

fs.wirteFile(file, data[, options], callback)

参数解读:

  • 参数1: 必须参数,需要制定一个文件路径的字符串,标识文件的存放路径
  • 参数2: 必须参数,表示要写入的内容
  • 参数3: 可选参数,标识以什么格式写入文件内容,默认你是utf8
  • 参数4: 必须按参数,文件写入完成后的回调函数

实例:

fs.writeFile('./data/write-file.txt', 'write-file', (err) => {
    console.log(err, '写入成功')
})

image.png

注意:如果文件目录(./data)不存会写入失败,如果文件(write-file.txt)不存在会新建,如果文件存在,会覆盖以前的内容

__dirname

表示当前文件所所处的目录

console.log(__dirname)

image.png

path路径模块

  • path.join(),用来将多个路径片段拼接为一个完整的路径字符串
  • path.basename()用来从路径i复查u你中过,将文件名解析处理
const path = require('path')

path.join()

const pathStr = path.join('/a', '/b/c', '../', './d', '/e')
console.log(pathStr);  // 输出 /a/b/d/e

const pathStr1 = path.join(__dirname, '/data/file.txt')
console.log(pathStr1);  // 输出 当前文件所载目录/data/file.txt

path.basename()

语法

path.basename(path[, ext]); 

参数解读:

  • path:string必须参数,标识一个路径的字符串
  • ext:string可选参数,表示文件扩展名
  • 返回:string标识文件路径中的最后一部分

示例:

const fpath = '/a/b/index.html';
let fullName = path.basename(fpath);
console.log(fullName); // index.html

let nameWithoutExt = path.basename(fpath, '.html');
console.log(nameWithoutExt); // index

path.extname()

语法

path.extname(path); 

参数解读:

  • path:string必须参数,标识一个路径的字符串
  • 返回:string返回得到的扩展名字符串

示例:

const fpath = '/a/b/index.html';
let extname = path.extname(fpath);
console.log(extname); // .html

http 模块

http模块,是node.js官网提供的,用来创建web服务器的模块,通过http模块提供的http.createServer()方法,就能放拜年的把一台普通的哦电脑,变成一台web服务器,从而对外提供web资源服务

创建最基本的web服务器

  1. 导入http模块
  2. 创建web服务器实例
  3. 为服务器实例绑定request时间,监听客户端请求
  4. 启动服务器
const http = require('http');
const server = http.createServer();
server.on('request', (req, res) => {
    const str = `你请求的地址是${req.url},请求的method类型是${req.method}`;
    // 避免乱码
    res.setHeader('Content-type', 'text/html; charset=utf-8');
    res.end(str);
})

根据不同的url响应不同的html内容

const http = require('http');
const server = http.createServer();
server.on('request', (req, res) => {
    const url = req.url;
    const method = req.method;
    let content = '<h2>404页面不存在</h2>'
    if(url === '/' || url === '/index.html') {
        content = '<h2>首页</h2>'
    }
    else if(url === '/about.html') {
        content = '<h2>关于</h2>'
    }
    res.setHeader('Content-type', 'text/html; charset=utf-8');
    res.end(content);
});
server.listen(80, () => {
    console.log('http server running at http://127.0.0.1');
})