node基础|青训营笔记

53 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第7天

fs

fs.readFile("./xx/xx","uft-8",(err,datastr)=>{}) fs.writeFile("./xx/xx",datastr,"uft-8",(err)=> {})

  1. 如果err为null则读出或写入成功
  2. 路径为相对路径时会出现拼接错误的情况,因为会根据在哪里执行node xxx的文件目录下补全路径
  3. 使用绝对路径即可
  4. __dirname表示当前文件的目录,__dirname+相对路径,完美解决

path

  1. path.join(__dirname,'./xxx/xx','../')
  • 相当于__dirname/xxx,其中../会抵消一层路径
  • 注意上面fs写的的第4条用path.join(__dirname,相对路径)最好
  • 返回连接好的路径
  1. path.basename(path[,ext])
  • ext是扩展名(如果传递,则返回的文件名无扩展名)
  • 返回文件名
  1. path.extname(path)
  • 返回扩展名

http

  1. const server=http.createServe()
  2. server.on('request',(req,res)=>{ })
  • 有人请求则触发
  • req客户端相关信息对象
    • url 请求路径
    • method 请求方式
  • res服务端相关对象
    • res.end(dataStr) 返回数据
    • res.setHeader('Conyent-Type','text/html:charset=utf-8')
  1. server.listen(8080,()=>{ })

模块化

  1. 内置模块 自定义模块 第三方模块(包)
  2. 加载模块会自动运行模块文件
  3. 模块作用域(不会污染全局作业作用域)
  4. module对象(每一个js文件都有module对象)
  • 有一个叫exports的空对象属性
  • 其他文件require时就是返回exports对象
  1. exports对象就是module.exports的简写,同一个对象
  2. 采取CommonJS规范
  3. 模块的缓存机制
  4. 自定义加载 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包

  1. 一个文件夹(包)必须有入口文件,package.json,README.md文件
  • package.json必须有name属性(包名),main属性(入口文件),version属性
  1. 在npm官网服务器下登录npm login

  2. 输入名字,密码(无显示),邮箱

  3. npm publish