Node.js

目录

NodeJs_01:

学习目标

一、Nodejs概述

1.1、介绍

1.2、Nodejs应用场景

1.3、安装Nodejs

1.4、npm包管理器

指令:

1.4.1、介绍

1.4.2、切换npm镜像源

使用 nrm 管理npm镜像源

 1.4.3、生成JSON配置文件

1.4.4、查看当前安装的树形模块

1.4.5、安装模块

1.4.6、自定义脚本命令

1.4.7、自动重启应用

1.5、模块化

 二、常用内置模块

2.1、os模块


NodeJs_01:

学习目标

  • 能够命令中执行node程序
  • 能够使用npm安装第3方模块
  • 掌握常用的nodejs内置模块
  • 能够实现文件读写操作
  • 搭建静态web服务器
  • 接受get或post数据

一、Nodejs概述

1.1、介绍

网址:https://nodejs.org

Node.js 是一个开源与跨平台的JavaScript 运行时环境。它是在浏览器外运行,它是一个事件驱动异步I/O单进程的服务端JS环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。它使用新的 ECMAScript 标准,不必等待所有用户更新其浏览器,可以通过更改其版本来决定要使用新的标准特性。

注意:

  • 浏览器是JS的前端运行环境。
  • Node.js是JS的后端运行环境,在后端中运行无法调用 DOM 和 BOM 等浏览器内置 API。
  • Node.js可以使用官方API编写出web服务,运行web应用。 

1.2、Nodejs应用场景

  • 创建应用服务
  • web静态资源服务和接口服务器
  • 客户端应用工具  gulp webpack vue脚手架 react脚手架

1.3、安装Nodejs

nodejs环境安装非常便捷,直接可通过官网地址,下载对应的安装软件包即可安装使用。

 注:尽量下载长期支持版本(LTS),如果在工作中有多个node环境的切换,可以安装ndoe环境管理工具NVM:https://github.com/coreybutler/nvm-windows/releases

nvm(nodejs的版本管理工具)可以让你的电脑中有N多个node版本。

https://www.cnblogs.com/gaozejie/p/10689742.html

node12.18   è  node8 A项目    B项目 node9    C项目 node10

nvm install nodejs版本

nvm use 版本

1.4、npm包管理器

安装好了nodejs后,npm就已经在电脑中

指令:

node -v    查看node.js版本号

 npm -v   查看npm版本号

1.4.1、介绍

NPM(node package manager),通常称为node包管理器,它已经集成了nodejs安装包中。在npm从从5.2版开始,增加了 npx 命令(解决的主要问题,就是调用项目内部安装的模块,很多工具不再需要npm -g 全局来完成使用了),使用npm可以实现从npm远程数据库下载别人编写的第三方包到本地使用。

npm仓库地址:https://www.npmjs.com/

当然除了npm以外还有Facebook贡献的Yarn,功能和npm一样。

npm -v

yarn安装

npm i -g yarn

使用yarn包管理工具

1.4.2、切换npm镜像源

npm使用国外镜像源地址,再有的时候可能网络不是很通顺,这时可以使用国内镜像源来完成npm下载模块功能

切换到阿里提供的npm镜像源

 地址:https://developer.aliyun.com/mirror/NPM?from=tnpm

# 执行如下命令

npm install -g cnpm --registry=https://registry.npm.taobao.org

执行完毕上述命令后,在系统中提供了一个cnpm包管理工具,功能和npm一样,所不同的是cnpm镜像源地址为阿里提供的源地址。

  • 使用 nrm 管理npm镜像源

nrm 是一个 npm 源管理器,允许你快速地在 npm源间切换。npm默认情况下是使用npm官方源(npm config list 来查看),如果直接修改npm源,如果后续需要连接到官方源才能工作,这样来回切换源就变得麻烦了,nrm通过简单的命令就可以解决此问题。

# 全局安装

npm i nrm -g

  • -g global 全局,让nrm不限于到某一个项目中,而是在所有的项目中都可使用
  • 安装最新的nrm在window在会出现如下错误,解决方案如下

打开nrm的安装文件,一般是在这个路径下:

C:\Users\用户名(自动的账号名称)\AppData\Roaming\npm\node_modules\nrm

找到cli.js文件的第17行,此行代码

const NRMRC = path.join(process.env.HOME, '.nrmrc');

做如下修改

const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');

# 查看可用源 (如果查看的时候,报错 就把17行代码替换掉)

nrm ls

# 切换

nrm use 名称(列如,npm)

 添加其它的: nrm add   名称

 1.4.3、生成JSON配置文件

# 初始化生成package.json文件  à 项目中使用npm安装软件的记录文件

npm init -y[不询问]

packename      包名

version          版本

description      描述

main             入口文件

scripts          支持的脚本,默认是一个空的 test

keywords         关键字,有助于在人们使用 npm search 搜索时发现你的项目

author           作者

license:         版权许可证(默认:ISC)

dependencies     在生产环境中需要用到的依赖 -- 开发中多个包文件打到一个js文件中,在此文件中要有js些生产环境中就有

devDependencies  在开发、测试环境中用到的依赖 -- 在本机开发时此时js能用的

1.4.4、查看当前安装的树形模块

# 查看本项目已安装模块

npm list

# 查看包可用版本

npm view jquery versions

 npm root -g       查看安装的全局目录(node_modules)

1.4.5、安装模块

# 安装模块

npm install 模块名[@版本号 可选]  或  npm i 模块名[@版本号 可选]

# 卸载已安装模块

npm uninstall 模块

# 查看全局node_modules的地址

npm root -g

## 安装参数

--save -S     记录生产环境所需模块 默认

--save-dev -D 记录开发环境所需模块

-g 安装到全局

 npm init -y       创建package.json文件

npm i -S jquery      下载jquery依赖包      在生产环境中需要用到的依赖

npm i -D jquery       下载在开发、测试环境中用到的依赖

npm uninstall jquery        删掉之前下载好的环境包

1.4.6、自定义脚本命令

通过package.json文件中的scripts自定义脚本命令

{

  "scripts": {

    "test": "echo hello"

  }

}

# 运行命令

npm run test

 

 npm list    查看jquery版本

 

 

1.4.7、自动重启应用

在编写调试Node.js项目,修改代码后需要频繁的手动重启应用,非常繁琐。nodemon这个工具,它的作用是监听代码文件的变动,当代码改变之后,自动重启。

# 全局安装nodemon

npm i -g nodemon

# 执行node脚本

nodemon app.js

// 一个web服务,启动后会在内存在运行,而我们修改的是磁盘中的文件

// 修改后的文件不会立即更新到服务中,手动重启,在生产环境中正常,开发环境如果频繁的这样操作,开发效率无从谈起。需要一个能够监听文件的修改,一旦有修改文件就是自动更新到内存服务中

// npm i -g nodemon

// 启动文件

// 之前nodejs运行文件  node 文件.js

// nodemon之后        nodemon 文件.js

 手动启动(比较频繁的启动)

nodemon 自动重启( 不用频繁的手动运行了 )

1.5、模块化

NodeJs基于 Commonjs模块化开发的规范,它定义一个JS文件就称之为一个模块

node的模块类型:

  • 核心模块 - 安装nodejs自带的模块
  • 第三方模块 - 需要手动通过(npm/yarn)来进行安装
  • 自定义模块 - 开发者自己编写开发 (一个文件就是一个模块[理解])

 自定义模块:

导出  module.exports / exports

导入  require   require导入是以单例模式,导入相同的对象,全局只有一个实例,,,,好处节省内存

 一个文件就是一个模块, 遵循 Commonjs 提供的 api ( 导入, 和 导出 )

导出

 导入

 二、常用内置模块

2.1、os模块

os模块提供了与操作系统相关的实用方法和属性。

const os = require('os')

# 换行符

os.EOL 根据操作系统生成对应的 换行符 window \r\n,linux下面 \n

 

# 查看cpu相关信息\​​​​​​​

os.cpus()

# 总内存大小 (单位 字节) kb mb g

os.totalmem()

# 空余内存大小 (单位 字节)

os.freemem()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值