这是我参与「第四届青训营 」笔记创作活动的的第7天
fs
fs.readFile("./xx/xx","uft-8",(err,datastr)=>{})
fs.writeFile("./xx/xx",datastr,"uft-8",(err)=> {})
- 如果err为null则读出或写入成功
- 路径为相对路径时会出现拼接错误的情况,因为会根据在哪里执行node xxx的文件目录下补全路径
- 使用绝对路径即可
- __dirname表示当前文件的目录,__dirname+相对路径,完美解决
path
path.join(__dirname,'./xxx/xx','../')
- 相当于__dirname/xxx,其中../会抵消一层路径
- 注意上面fs写的的第4条用path.join(__dirname,相对路径)最好
- 返回连接好的路径
path.basename(path[,ext])
- ext是扩展名(如果传递,则返回的文件名无扩展名)
- 返回文件名
path.extname(path)
- 返回扩展名
http
const server=http.createServe()server.on('request',(req,res)=>{ })
- 有人请求则触发
- req客户端相关信息对象
- url 请求路径
- method 请求方式
- res服务端相关对象
- res.end(dataStr) 返回数据
- res.setHeader('Conyent-Type','text/html:charset=utf-8')
server.listen(8080,()=>{ })
模块化
- 内置模块 自定义模块 第三方模块(包)
- 加载模块会自动运行模块文件
- 模块作用域(不会污染全局作业作用域)
- module对象(每一个js文件都有module对象)
- 有一个叫exports的空对象属性
- 其他文件require时就是返回exports对象
- exports对象就是module.exports的简写,同一个对象
- 采取CommonJS规范
- 模块的缓存机制
- 自定义加载 js->json->node
npm
1.npm config set registry=https://registry.npm.taobao.org/
2.npm config get registry
1.npm i nrm -g
2.nrm ls
3.nrm use taobao
1.npm i -g i5ting_toc
2.i5ting_toc -f 要转换的md文件路径 -o
将md文件转换为html
发布npm包
- 一个文件夹(包)必须有入口文件,package.json,README.md文件
- package.json必须有name属性(包名),main属性(入口文件),version属性
-
在npm官网服务器下登录
npm login -
输入名字,密码(无显示),邮箱
-
npm publish