【Nodejs】Node-js概述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

Node.js


文章目录


一、Node.js概述

1.1、介绍

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

1.2、官网

Node.js (nodejs.org)

Node.js 中文网 (nodejs.cn)

1.3、Node.js应用场景

  1. 创建应用服务
  2. Web静态资源服务和接口服务
  3. 客户端应用工具 gulp webpack vue脚手架 React脚手架

1.4、安装Node.js

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

在这里插入图片描述

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

nvm可以让你的电脑中有N多个node版本。

nvm安装与使用 - gaozejie - 博客园 (cnblogs.com)

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

nvm list             查看已经安装的版本
nvm list available 查看网络可以安装的版本
nvm install nodejs 版本
nvm use <version>  切换使用指定的版本node   nvm use 10.xxx  
nvm current         显示当前版本

1.5、npm包管理器

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

1.5.1、介绍

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

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

npm -v

在这里插入图片描述

1.5.2、切换npm源

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

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

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

# 执行如下命令
npm config set 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');

# 查看可用源
nrm ls

在这里插入图片描述

在这里插入图片描述

 npm config list -l

在这里插入图片描述

npm cachean --force

在这里插入图片描述

以上都解决不了

安装

npm install -g nrm open@8.4.2 --save

在这里插入图片描述

# 切换
nrm use 名称(npm)
# 例如nrm taobao

1.5.3、生成JSON配置文件

# 初始化生成package.json文件   项目中使用npm安装软件的记录文件
npm init -y[不询问]

packename        包名(包名也不能和已经存在的包同名 wu-jquery)
version           版本
description      描述
main              入口文件
scripts          支持的脚本默认是一个空的 test
keywords         关键字有助于在人们使用 npm search 搜索时发现你的项目
author           作者
license:         版权许可证默认ISC
dependencies     在生产环境中需要用到的依赖 -- 开发中多个包文件打到一个js文件中在此文件中要有js些生产环境中就有  npm run build
devDependencies  在开发、测试环境中用到的依赖 -- 在本机开发时此时js能用的

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

# 查看本项目已安装模块
npm list
# 查看包可用版本
npm view jquery versions

1.5.5、安装模块

# 安装模块
npm install 模块名[@版本号 可选]npm i 模块名[@版本号 可选]
# 卸载已安装模块
npm uninstall 模块名
# 查看全局node_modules的地址
npm root -g

## 安装参数
--save -S     记录生产环境所需模块 默认
--save-dev -D 记录开发环境所需模块
-g 安装到全局

1.5.6、自定义脚本命令

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

{
  "scripts": {
    "test": "echo hello"
  }
}

# 运行命令
npm run test

在这里插入图片描述

1.5.7 、自动重启应用

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

# 全局安装nodemon
npm i -g nodemon

# 执行node脚本
nodemon app.js

// 一个web服务启动后会在内存在运行而我们修改的是磁盘中的文件
// 修改后的文件不会立即更新到服务中手动重启在生产环境中正常开发环境如果频繁的这样操作开发效率无从谈起。需要一个能够监听文件的修改一旦有修改文件就是自动更新到内存服务中
// npm i -g nodemon
// 启动文件
// 之前nodejs运行文件  node 文件.js
// nodemon之后        nodemon 文件.js

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Larhpy0u-1684986885439)(./img/image-20230523202404377.png)]

1.6、模块化

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

node的模块类型

Ø 核心模块 - 安装nodejs自带的模块

Ø 第三方模块 - 需要手动通过(npm/yarn)来进行安装

Ø 自定义模块 - 开发者自己编写开发 (一个文件就是一个模块[理解])

导出  module.exports/exports
导入  require   require导入是以单例模式导入相同的对象全局只有一个实例

在这里插入图片描述
在这里插入图片描述


END

知识共享许可协议
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: NodeJS