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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?