Node.js

Node.js

what is Node.js

Node.js是基于谷歌V8引擎的JavaScript的运行环境

  • 是运行环境
  • 可以按照客户端JavaScript来书写js代码
  • 可以进行文件读写,进程管理,数据库的操作
  • 在Node.js里不能操作dom以及bom
  • 在Node.js中全局变量时global而不是window

应用场景

  • 实时应用:如在线聊天,实时通知推送等等(如socket.io
  • 分布式应用:通过高效的并行I/O使用已有的数据
  • 工具类应用:海量的工具,小到前端压缩部署(如grunt),大到桌面图形界面应用程序、
  • 游戏类应用:游戏领域对实时和并发有很高的要求(如网易的pomelo框架)
  • Web服务器:利用稳定接口提升Web渲染能力
  • 前后端编程语言环境统一:前端开发人员可以非常快速地切入到服务器端的开发(如著名的纯Javascript全栈式MEAN架构

安装

  • NVM 进行Node.js的版本管理

    • list ls 列举所有已安装的版本
    • list available ls-remote 列出所有官网的版本
    • nvm install 版本号 安装对应版本号的node.js
    • nvm use 版本号 切换node.js版本
  • NRM 进行包的源管理

    • npm 安装nrm
    • nrm ls 列出所有可用的npm包源
    • nrm use 源
    • nrm add 添加一个源
    • nrm del 删除一个源

Tips

有两种方式来运行node.js

  • 直接在终端上执行node命令:REPL
  • 书写js文件 通过node命令 加上 参数 入口文件
  • 安装nodemon 时时检测文件变化,自执行。
npm install -g nodemon

模块化

模块化能隐藏私有的属性和方法,只暴露出公共接口

CommonJS规范

Node.js的模块系统就采用CommonJS规范。CommonJS标准规定:

  • 一个单独的文件就是一个模块,
  • 模块内将需要对外暴露的变量放到exports对象里,可以是任意对象,函数,数组等,未放到exports对象里的都是私有的。
  • 用require方法加载模块,即读取模块文件获得exports对象。
warning

在Node.js中,模块对外暴露接口时,实际上就是通过module.exports来实现的。exports只是对module.exports的一个引用。当替换默认对象来暴露接口时,不能使用exports。

全局变量
  • __dirname : 当前模块所在的目录路劲
  • __filename: 当前模块的文件名字
  • console
模块属性
  • module.id: 模块的唯一标识
  • module.loaded:标记模块是否加载
  • module.parent: 引用模块的模块
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值