Node常见操作命令

Node常见操作命令

 

1、查看安装版本

node -v

2、初始化

npm i或npm install

3、创建package.json文件

npm init或
npm init -y 可跳过简易问答界面

4、运行js文件

node 文件路径

5、读取与写入文件

复制代码
// 读取文件和写入文件
//    引入fs文件系统模块
const fs = require('fs')

//    fs.readFile()语法格式
//    fs.readFile(path,options,callback)
//    path: 读取文件的路径  必选
//    options: 编码格式,默认值是utf-8
//    callback: 回调函数 必选

fs.readFile('../data/guess.json',(err,data)=>{
    // if(err) throw err
    if(err){
        console.log('文件读取失败',err)
    }else {
        console.log('文件读取成功',JSON.parse(data))
    }
//    文件读取成功时,err默认值为null
//    如果读取失败,err作为一个对象,data为undefined
})

//fs.writeFile() 语法格式
//file.writeFile(file, data , options, callback)
//file: 读取文件的路径   如果读取文件不存在会自动创建文件。
//data: 写入文件的内容
//options: 编码的格式,默认值为utf—8  可选
//callback: 回调函数 必选
const WriteData=[
    {"id":0,"name":"王二小"},
    {"id":1,"name":"张三"},
    {"id":2,"name":"李四"},
    {"id":3,"name":"王妮"}
]
// 写入的数据会覆盖之前的数据,再写入之前应先读取之前的数据,新旧数据一起写入。
fs.writeFile('../data/guess.json',JSON.stringify(WriteData),err=>{
if (err) throw err
    //如果有错误就抛出异常信息,并停止代码运行。
    console.log(WriteData)
})
复制代码

6、使用http模块

复制代码
// http模块
// res.setHeader()方法,设置Content-Type 响应头解决中文乱码问题
// res.setHeader('Content-Type','text/html;charset=utf-8')
//res.end()向客户端发送响应内容
// res.send(str)

//1 导入http模块
const http = require('http')
//2 创建web服务器实例
const server = http.createServer()

//3 为服务器实例绑定request事件,监听客户端请求
//简易版本
server.on('request',(res,err)=>{
    res.setHeader('Content-Type','text/html;charset=utf-8')
    console.log('客户端发生请求')
})
//不那么简易版本
server.on('request',(req,res)=>{
  let postData = ''
//    侦听请求的data的事件;
    req.on('data',(chunk)=>{
        postData = postData+chunk;
    });
//  侦听请求的end事件
    req.on('end',()=>{
        res.end(postData);
    })
})

//4 启动服务器
server.listen(7000, ()=>{
    console.log('server running at http://127.0.0.1:7000')
})
复制代码

7、path路径模块

复制代码
//path路径模块
const path = require("path");
const fs = require('fs')

// 路径拼接
// path.join()语法格式
// '../' 会抵消前面的一层路径
const pathStr1 = path.join('/a','/b/c','../','/d','e')
console.log(pathStr1) // \a\b\d\e

const pathStr2 = path.join('/a','/b/c','../../','/d','e')
console.log(pathStr2) // \a\d\e

// __dirname 当前文件所在目录
//utf-8 编码可选
fs.readFile(path.join(__dirname,'guess.json'),'utf-8',(err,res)=>{
    if(err)
        return console.log('文件读取失败',err.message)
    console.log('文件读取成功',res)
})

// path.basename(path,ext) 获取最后一个文件名称
// path:文件路径 必选
// ext:文件扩展名 可选
const pathStr3 = '/a/b/c/d.html'
const FullName1 = path.basename(pathStr3)
console.log(FullName1) // d.html

const FullName2 = path.basename(pathStr3,'.html')
console.log(FullName2) // d

// path.extname(path) 获取文件扩展名
const extName = path.extname(pathStr3)
console.log(extName) // .html
复制代码

8、moment时间格式化

复制代码
//moment时间格式化
//先npm i moment
const moment = require('moment')
//使用方法
const dt = moment().format('YYYY-MM-DD HH:mm:ss')
console.log(dt)
复制代码

9、nodemon-热更新

//热更新
npm i -g nodemon  //安装 使用:nodemon +js文件名
//nodemon参考文章:https://www.jianshu.com/p/a35dfc72c6e6

10、打包

复制代码
//在文件夹的根目录打开终端
//打包
npm publish

//删除包
npm unpublish 包名 --force
复制代码

posted on 2023-09-04 20:24  漫思  阅读(223)  评论(0编辑  收藏  举报

导航