node基础

node的作用和应用
1、脱离浏览器运行JS
2、后台编写API
3、Webpack,gulp,Npm等等
4、中间层:服务器中负责IO读写中间层的服务器
node作为中间层的优势
- 性能:异步IO
- 处理数据
- 安全性

node的模块

  1. 全局模块(对象)
    随时随地都能使用
    process.env 环境变量
    process.argv
  2. 系统模块
    使用require()引入
  3. 自定义模块

Node是C++写的,所以它有分配C++内存的能力

在nodejs顶层对象是global
在ecmascript中,部分node和js其实是一样的,比如数据类型的定义,语法结构,内置对象
在nodejs中,一个文件就是一个模块,每个模块都有自己的作用域
当我们在一个文件中声明的一个变量a,它并不是全局的,而是属于当前模块下
所以并不能通过global.a来访问到。
除非声明的时候使用 global.a来声明
· _filename : 返回当前模块文件被解析过后的绝对路径,该属性其实并非全局的,而是模块作用域下的
· _dirname:返回当前模块文件所在目录接下后的绝对路径,该属性也不是全局的,而是模块作用域下的
· propcess对象 是一个全局对象
可以在任何地方都能访问到它,通过这个对象提供的属性和方法,可以对当前运行的程序的进程进行访问和控制
· propcess.argv

  • array 一组包含命令行参数的数组 第一个参数是“node”,第二个元素是.js文件的名称,接下来的元素是依次命令行传入的参数
    这个参数在运行的时候传入
    · propcess.execPath
  • 开启当前进程的绝对路径
    · propcess.env
  • 返回用户环境信息
    · propcess.pid
  • 返回当前进程的pid
    · propcess.title
  • 返回当前进程的显示名称(getter/setter)
    · propcess.arch
  • 返回CPU处理器架构
    · propcess.exit
  • 推出
    · propcess.kill
  • 向进程发送信息
    · propcess.stidin、 stdout: 标准输入输出流(IO)
  • 标准输入设备
  • 标准输出设备
  • stdin和stdout 提供了操作输入数据和输出数据的方法,通常称作IO操作
    模块加载机制
    require(“adress” ) 引入模块
    绝对路径/相对路径 相对路径必须./开头,否则会加载依赖的中的核心文件去
    例如: let path = require(‘path’)
    path.resolve(__dirname,‘index.js’) // 返回文件的绝路径
    暴露模块中的变量
    在一个模块中定义的变量想要在另外一个模块中的变量
    1、将变量作为global对象的一个属性 不推荐
    2、使用模块对象 (module),
    在这个module对象下有一个子对象:exports对象。我们可以通过这个对象把一个模块中的局部变量提供访问
    var b = 22222
    module.exports.b = b

var b = require(’./hello2.js’)
console.log(b)
3、在模块作用,还有一个内置的模块对象,exports,它其实就是module.exports

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值