//1导入fs文件,来操作文件
const fs = require('fs')
//2.调用fs.readFile()方法读取文件
//参数1:读取文件的存放路径:./files/demo1.txt
//参数2: 读取文件时候采用的编码格式,一般默认制定utf8
//参数3: 回调函数,拿到读取失败和成功的结果 err(失败结果) dataStr(成功结果)
fs.readFile('./files/demo1.txt','utf8',function (err,dataStr) {
//2.1打印失败结果,
// 如果读取成功,err的值为null
// 如果读取失败,则err的值为错误对象,dataStr的值为undefined
if(err){
return console.log('文件读取失败'+ err)
}
//2.2打印成功结果
console.log('文件读取成功'+dataStr)
})
// 1.导入fs 系统模块
const fs = require('fs')
// 2.调用fs.writeFile() 方法,创建写入文件内容(只能用来创建文件不能用来创建路径)重复调用fs.writeFile()方法会覆盖之前的内容
// 参数1:表示文件的存放路径:./files/demo2.txt
// 参数2: 表示要写入的内容: kiku
// 参数3:回调函数
fs.writeFile('./files/demo2.txt', 'kiku',function (err) {
//2.1 如果文件写入成功,err返回为null
//2.2 如果文件写入失败,err的值会是一个错误对象
// console.log(err)
if(err){
return console.log('文件写入失败',err)
}
console.log('文件写入成功')
})
const fs = require('fs')
fs.readFile('/Users/WebstormProjects/nodeTEST/files/demo1.txt','utf8',function (err,data) {
if(err){
return console.log(err)
}
console.log(data)
})
const fs = require('fs')
const path = require("path")
// 拼接路径要用path.join,不要使用+,如果路径格式不对,会导致错误用+ '/files/demo1.txt' 和'./files/demo1.txt'不一样,path.join会直接过滤.字符
//path.join(__dirname,'files/demo1.txt')
//__dirname+'/files/demo1.txt'
fs.readFile(path.join(__dirname,'/files/demo1.txt'),'utf8',function (err,data) {
if(err){
return console.log(err)
}
console.log(data)
})
const fs =require('fs')
const path =require('path')
//注意: ../会抵消前面的路径
const pathStr = path.join('/a','b/c/d','../','e')
console.log(pathStr) ///a/b/c/e
const pathData = path.join('/a','b/c/d','../../','e')
console.log(pathData) ///a/b/e
fs.readFile(path.join(__dirname,'/files/demo1.txt'),'utf8',function (err,data){
if(err){
return console.log(err)
}
console.log(data)
})
//path.basename()方法可以从一个文件路径中获取文件的名称部分
//参数1:文件路径(必传)
//参数2:文件扩展名(非必传,如果不需要文件扩展名可传)
//path.basename('文件路径:','文件扩展名')
const path= require('path')
//定义文件的存放路径
const fpath = '/Users/jiangdi/WebstormProjects/nodeTEST/files/demo2.txt'
const fname = path.basename(fpath)
console.log(fname) //demo2.txt
const fname1 = path.basename(fpath,'.txt')
console.log(fname1)//demo2
//path.extname()
// 参数:文件路径(必传)
const path = require('path')
const fpath ='/a/b/c/index.html' //文件存放路径:/a/b/c/index.html
const ext= path.extname(fpath)
console.log(ext)//.html
// 1.导入http模块
const http =require('http')
// 2.创建web服务器实例
const server = http.createServer()
// 3.为服务器实例绑定request事件,监听客户端的请求
server.on('request',function (req,res) {
console.log('Someone visit our web servers.')
})
// 4.启动服务器:8080配置端口
server.listen(8080,function (){
console.log('server running at http://127.0.0.1:8080')
})
const http = require('http')
const server = http.createServer()
//req是请求对象,包含了与客户端相关的数据和对象
server.on('request', (req,res) => {
// req.url 客户端请求的URL地址
const url = req.url
// req.method 是客户端请求的method类型
const method = req.method
const str = `You request url is ${url} and request method is ${method}`
console.log(str)
// 调用res.end() ,向客户端响应一些内容
res.end(str)
})
server.listen(8081, function () {
console.log('server running at http://127.0.0.1:8081')
})
const http = require('http')
const server = http.createServer()
//req是请求对象,包含了与客户端相关的数据和对象
server.on('request', (req,res) => {
// req.url 客户端请求的URL地址
const url = req.url
// req.method 是客户端请求的method类型
const method = req.method
const str = `你请求的url是 ${url} 请求的方法是 ${method}`
console.log(str)
// 调用 res.setHeader()方法,设置Content-Type响应头,解决中文乱码的问题
res.setHeader('Content-type','text/html;charset=utf-8')
// 调用res.end() ,将响应返回给客户端
res.end(str)
})
server.listen(80, function () {
console.log('server running at http://127.0.0.1')
})
//导入http模块
const http = require('http')
//创建服务器
const server = http.createServer()
// 监听web服务器的 request 事件
server.on('request',(req,res)=>{
// 1.获取请求的url地址
const url =req.url
// 2.设置默认响应的内容为 404 not found
let content = '404 not found
'
// 3.判断请求是否为/或者/index.html首页
// 4. 判断页面是否为about.html 关于页面
if(url === '/' || url ==='/index.html'){
content ='首页
'
}
else if(url === '/about.html'){
content ='关于页面
'
}
// 5.设置Content-type响应头,防止中文乱码
res.setHeader('Content-type','text/html;charset=utf-8')
// 6.使用res.end() ,把内容返回给客户端
res.end(content)
})
server.listen(8081,()=>{
console.log('server is running http://127.0.0.1:8081' )
})
//加载内置模块
const fs = require('fs')
//加载用户自定义模块要写路径 ,注意在加载自定义模块时可以省略.js后缀名
const m1 = require('./01m')
//加载第三方模块
console.log(module)
新建两个js文件 demo1.js 和demo2.js
// demo1js
// 向module.exports 对象上挂载 username 属性
module.exports.username ='kiki'
// 向module.exports 对象上挂载 sayhello 方法
module.exports.sayhello = function (){
console.log('大家好')
}
// demo2.js
const demo1= require('./demo1')
console.log(demo1) // { username: 'kiki', sayhello: [Function (anonymous)] }
npm unpublish命令只能删除72小时以内发布的包
npm unpublish 删除的包在24小时内不能重复发布
尽量不要往npm发布无用包