node学习笔记(1)

137 阅读2分钟

查看node版本号

node -v

node运行js文件

node index.js

快捷键

cls 清空终端
esc按键清除当前输入内容
tab按键补全目录
上箭头显示上次输入命令

fs文件系统模块

读取文件中的内容

fs.readFile(path[,options],callback)

path:必选参数,文件路径
options:可选参数,编码格式,默认utf8
callback:必选参数,读取完文件的回调函数


实例:
    // 引入fs模块
    const fs = require('fs')
    fs.readFile('./files/111.txt', 'utf8', (err, dataStr) => {
        //成功err返回null
        if (err) {
            return console.log('读取失败', err.message)
        }
        console.log('读取文件成功!', dataStr)
     })

向文件写入内容

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

file:必选,要写入的文件路径
data:必选,要写入的内容
options:可选,编码格式,默认utf8
callback:必选,写完回调


实例:
const fs = require('fs')
fs.writeFile('./files/write.txt', '第一次写入', 'utf8', (err) => {

    if (err) {
        console.log('失败', err.message)
    }
    console.log('成功')
})

读写文件相对路径读取失败问题 ./ ../会路径动态拼接

    解决方法:__dirname:表示当前文件所处目录
    示例:
        fs.readFile(__dirname + '/files/read.txt', 'utf8', (err, dataStr) => {
            if (err) {
                return console.log('读取失败', err.message)
            }
            console.log('读取文件成功!', dataStr)
        })

path 路径模块

导入:const path =require('path')

path.join()

    将多个路径片段拼接成一个完整的路径字符串

    实例:
    const path = require('path')

    const p1 = path.join('/a', '/b/c', '../', './d', 'e')
    //注意../会抵消一层目录 最终输出\a\b\d\e

    console.log('p1', p1);

    const p2 = path.join(__dirname, './files/read.txt')
    console.log('p2', p2); //最终输出文件目录

path.basename()

    从路径字符串中把文件名解析出来

    实例:
    const fullName = path.basename(p2)
    console.log('解析的文件名', fullName)
    const fullNameExt = path.basename(p2, '.txt')
    console.log('没扩展名的文件名', fullNameExt)

path.extname()

    获取路径中文件的扩展名
    
    实例:
        const ext = path.extname(p2)
        console.log('扩展名', ext)
        
        

http模块--node.js官方提供用来创建web服务器的模块

127.0.0.1或者localhost访问自己的服务器

步骤:

    //1、 导入http模块
    const http = require('http');

    // 2、创建web服务实例
    const server = http.createServer();

    // 3、为服务器绑定request事件,监听客户端请求
    server.on('request', (req, res) => {
        console.log('监听客户端请求')
        // req是请求对象,包含客户端相关属性和数据
        // req.url: 客户端请求的url地址
        const url = req.url
        // req.method: 客户端的请求类型(get / post)
        const method = req.method
        let str = `请求地址是${url},请求方式是${method}`
        console.log(str)

        console.log('-------------------------------------');

        // res是响应对象 
        // 用响应头解决中文乱码问题
        res.setHeader('Content-Type', 'text/html;charset=utf-8')
        // 调用res.end()方法,向客户端响应内容
        res.end(str)

    })

    // 4、启动服务器
    server.listen(8081, () => {
        console.log('服务运行在http://127.0.0.1:8081')
    })