Node学习

基本点

全局对象

属性

  • ‘process.pid’ 进程pid
  • ‘process.argv’ // argument参数 获取命令行参数 0:node的绝对路径;1:文件的绝对路径; 后续的为获取到得指令 空格分割
  • ‘process.env’ // 环境变量
    • NODE_DEV process.env.环境变量名
    • ‘NODE_DEV’ process.env[‘环境变量名’]

函数

  • processs.abort 终止程序
  • process.exit(code)
    • 注册事件 ‘process.on(‘exit’, function(code){具体推出前的操作})’
    • 退出状态码: 0代表正常退出 非0代表异常退出
  • process.kill(pid) 终止指定进程

异步函数的比较

  • process.nextTick(fn, [,…argv]); idle空闲观察者 优先级最高 底层:数组
  • setImmediate(fn, [,…argv]); check观察者 优先级最低 底层:链表
  • setTimeout(fn, [,…argv]); time观察者 优先级居中

node加载机制

  • 单文件
    • require() 可以使用变量,做批量加载
  • 文件夹(例如:’./cal’)
    • 1: cal文件下的package.json文件中的main属性是否都有效
    • 2:找当前路径的cal.js/json/node
    • 3: 查找cal文件下的index.js
  • 包加载
    • 逐级向上查找node_modules下的包名文件夹
      • showdown目录下 –> index.js 就是有package.json文件的main属性
      • 通过文件夹的加载执行1/3两条
    • 直到加载到当前盘符下的根目录module.paths

npm一些命令

  • 初始化package.json文件: ‘npm init [-y]’
  • 安装包:’npm install 包名@版本号 [–save-dev]’
  • 卸载包:’npm uninstall 包名@版本号 [–save-dev]’
  • 查看文档:’npm docs 包名’
  • 查看版本信息:’npm info 包名’
  • 恢复:’npm install [–production]’ 只恢复生产依赖
  • 全局安装:在命令后加 ‘-g’
  • 修改工具存储路径: ‘npm config set prefix “路径”‘
  • 查看工具存储路径:’npm root -g’
  • 修改环境变量:修改用户变量path中的路径

回调函数中通常是错误优先

以fs为例:
'fs.readFile(路径,编码,回调函数(错误优先, 数据对象){});'

了解IO

  • I: input O: output 即输入和输出
  • 数据的输入与输出
  • 二进制数据
    • 计算机只能识别【0,1】最终会以2进制的方式展示数据
    • 一个字母占据一个字节,一个字节占据8个bit位
  • Buffer 全局对象,不需要引入,随时可以使用。(用于处理二进制数据)
  • 字符串转Buffer
    • Buffer.from(str,[,..]);
  • Buffer转换成字符串
    • buf.toString();
  • 在Node.js中所有的默认编码通常为utf-8

write函数

1
2
3
4
var str = '这是我学习的node';
var buf = Buffer.from(str);
buf.write('Say-hi', 6,8);
console.log(buf.toString());

buf.write(string, [offset], [length], [encoding]);

文件操作

  • 所有的函数都有异步和同步两种形式
  • 读文件 ‘fs.readFile(filename, [options], callback)’
    • 第二个参数如果传递的是字符串,那么直接认为就是编码,不用传递对象
      • ‘options = {flag: ‘r||w||rw||a’, autoClose: true||false}’ // a –> append追加, autoclose 是否自动关闭文件,默认为true
  • 写文件 ‘fs.writeFile(filename, [options], callback)’
  • writeFile也能做追加操作 ‘fs.writeFile(filename,{flag;’a’},callback)’
  • 追加内容 ‘fs.appendFile(filename, data, [options], callback)’
  • 通过异或运算符实现简单加密

path 路径处理模块(核心模块)

-

×

可以的话,我想喝杯咖啡续命

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 基本点
    1. 1.1. 全局对象
      1. 1.1.1. 属性
      2. 1.1.2. 函数
    2. 1.2. 异步函数的比较
  2. 2. node加载机制
  3. 3. npm一些命令
  4. 4. 回调函数中通常是错误优先
  5. 5. 了解IO
    1. 5.1. write函数
    2. 5.2. 文件操作
    3. 5.3. path 路径处理模块(核心模块)