Nodejs学习笔记(一)——基础之全局对象、包和npm

【目录】
Nodejs学习笔记(二)——模块
Nodejs学习笔记(三)——同步和与异步之文件系统模块
Nodejs学习笔记(四)——http协议与服务器
Nodejs学习笔记(五)——express框架、路由(器)及中间件
Nodejs学习笔记(六)——Mysql模块
Nodejs学习笔记(七)——接口API


一、Node.js概述

Node.js是运行在服务器端的JS解释器,基于谷歌的V8引擎

(1)对比JS

  1. JS运行在客户端浏览器,存在多种JS解释器,存在代码兼容性问题;Node.js只有V8引擎一种解释器,不存在代码兼容性问题
  2. JS和Node.js都有共同的ES(内置)对象和自定义对象,不同的宿主对象
  3. JS用于开发浏览器端的交互效果,Node.js用于服务器端开发,例如数据库的访问,其它服务器的调用…

(2)网址

www.nodejs.org 官网
www.nodejs.cn 中文镜像

(3)使用Node.js

  • 脚本模式
    node 拖拽脚本文件 回车
    在这里插入图片描述
    拖拽脚本文件自动生成绝对路径,运行脚本文件。
    在这里插入图片描述

  • 交互模式
    node 回车 进入交互模式
    在这里插入图片描述

    结束:两次ctrl+c 或者 ctrl+d

(4)特点

  1. Node.js属于单线程运行逻辑
  2. 支持数万个并发连接
  3. 适合做基于社交网络的大规模WEB应用
  4. 不适合做CPU密集型的操作

二、全局对象

(1)global

检测一个变量或者函数是否为全局的

  • 交互模式属于全局作用域,创建的函数和声明的变量是全局的
  • 每个脚本文件都是在一个作用域下,里边的函数和变量都是局部的,不存在全局污染
  • JS下的global叫做window
var a = 1;
function fn() {
  return 2;
}
//报错,都不是全局下的
//在js浏览器环境下是全局变量window对象,但是在nodejs中脚本var变量是局部变量
console.log( global.a );
console.log( global.fn() );

(2)console

  • console.log(1) //日志
  • console.info(2) //消息
  • console.warn(3) //警告
  • console.error(4) //错误
  • console.time() 开始计时
  • console.timeEnd() 结束计时
    开始计时和结束计时的参数要保持一致

练习:分别查看for、while、do-while三种循环分别循环100000次的耗时。

//计时 

console.time('while');
for (var i = 0; i < 100000; i++) {

}
console.timeEnd('while');//1.877ms

console.time('dowhile');
var i = 0;
do {
    i++;
}while(i < 100000);
console.timeEnd('dowhile');//1.164ms

console.time('while');
var i = 0;
while(i < 100000) {
    i++;
}
console.timeEnd('while');//1.055ms

(3)process

进程:计算机让的软件运行都是代表相应的进程

  • process.arch 查看当前CPU架构
  • process.platform 查看当前的操作系统
  • process.version 查看当前Node.js版本
  • process.pid 查看当前Node.js进程编号
  • process.kill() 结束指定编号的进程

(4)Buffer

缓冲器:在内存临时存储数据的区域,常用于保存网络传输时的资源

//中文占3个字节
let buf = Buffer.alloc(6,'abc雅');  //创建Buffer,大小6字节
console.log(buf.toString());    //将Buffer转换为字符串

三、包和npm

包(package),指的是第三方模块

npm,用于管理包的工具模块,可以用于下载、上传、卸载、更新…

CommonJS规范:Node.js就是遵循这个规范,出现的模块概念。JS之所以作为服务器端语言,就是遵循这个规范。

下载地址:www.npmjs.com

(1)切换命令行的目录

  • 方法1:
    cd 粘贴目录的路径 回车
    以 C:\Users\lenovo\Desktop\web实训\test地址为例:在这里插入图片描述
    回车后,将切换目录,结果如图:在这里插入图片描述

  • 如果有盘符的变化,需要添加
    盘符名称: 回车
    如:要切换到D盘:
    在这里插入图片描述
    回车后,将切换目录,结果如图:
    在这里插入图片描述


  • 方法2:
    在要进入的目录下的空白区域,按住shift,单击鼠标右键,选择‘打开powershell窗口’

在这里插入图片描述

(2)使用npm

在Node.js安装的时候会附带安装。
进入到指定位置的powershell窗口

  • npm -v 查看版本号在这里插入图片描述

  • npm init -y 初始化一个package.json文件,是项目描述文件,可以记录下安装的包在这里插入图片描述

  • npm install 包的名称 下载安装包,将包放入到node_modules目录中,如果这个目录不存在会自动创建,同时会生成package-lock.json文件,记录所有包的版本号;在package.json中会记录安装的这个包的信息。
    这里以下载mysql包为例: 在这里插入图片描述

  • npm install 自动去安装package.json和package-lock.json中记录的包
    删除node_modules文件包和package-lock.json文件: 在这里插入图片描述
    再输入npm install,就会重新下载已缓存过的文件:
    在这里插入图片描述

  • npx -p node@8 node 文件路径 下载指定版本的nodejs,然后运行文件,运行完会将下载的nodejs删除

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你脸上有BUG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值