概述
百度百科:
Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型, [1] 让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。 [2]
Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行Javascript的速度非常快,性能非常好,基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。 [3]
node.js的特点:
- 事件驱动
- 非阻塞型IO模型
- 轻量和高效
node.js的特性:
- 1.可以在没有浏览器安全级别限制下运行
- 2.进行文件管理
- 3.进行进程管理
- 4.进行网络通信
node.js的应用领域:
- web开发
- 微服务
- 前端构建
npm基础
npm是node.js中的包管理工具,是世界上最大的开源包管理工具!
①使用npm命令安装包
在全局环境下安装最新版本的jquery
1 | npm install jquery --global(-g) |
全局安装包的目录
Mac
1 | /Users/felix/.nvm/versions/node/nvm各个版本/bin/ |
Windows
1 | C:\Users\你的用户名\AppData\Roaming\npm\node_modules |
在当前目录下安装最新版本的jquery(本地安装)
1 | npm install jquery |
展示你本地安装过的包及其依赖关系
1 | npm list |
本地安装的包将存放在该目录下的node_modules文件夹下
②package.json
package.json的作用:记录当前的项目信息(项目描述,安装的包等信息)
拷贝项目时不需要拷贝node_modules文件夹下大量的文件,执行npm install命令会更具package.json中的信息自动下载相应版本的依赖。
生成package.json文件
1 | npm init -y |
项目依赖
- 项目依赖:在项目的开发阶段和线上运营阶段,都需要依赖的第三方包
- 使用
npm install 包名
(或者npm install 包名 --save)将包添加到package.json文件的dependencies
字段中 - 重新安装时使用
npm install --production
只安装项目依赖
开发依赖
-
开发依赖:在项目的开发阶段需要依赖,线上运营阶段不需要的第三方包
-
使用
npm install 包名 --save-dev
命令将包添加到package.json文件的devDependencies
字段中示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15{
"name": "包名",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"jquery": "^3.6.0",
"underscore": "^1.13.1"
}
}
③package-lock.json
从 npm 5 版本之后只要使用 npm install 命令下载,就会自动生成 package-lock.json 文件。
- 记录模块的版本以及模块与模块之间的依赖关系
- 锁定包的版本
- 记录项目所依赖第三方包的树状结构和包的下载地址,加快重新安装的下载速度
④版本说明
a.b.c
a代表主版本号
b代表次版本号
c代表修正号,偶数代表正式版,奇数代表开发版本
package.json下的版本说明:
^x.x.x:锁定主版本号
~x.x.x:锁定次版本号
* :表示最新版本
⑤上传包
1.编写模块
2.完善package.json的信息
1 | { |
3.注册npm账号
4.添加用户
5.换源上传包
⑥相关命令
1 | npm install 包名 --global(-g) #全局安装 |
npm脚本
npm 允许在 package.json 文件里面,使用 scripts 字段定义脚本命令。
1 | "scripts": { |
添加和执行
添加脚本
1 | "scripts": { |
执行脚本
1 | npm run hello #执行hello |
变量
通过 npm_package_
前缀,npm 脚本可以拿到 package.json 里面的字段
添加test.js
1 | console.log(process.env.npm_package_scripts_hello) |
添加脚本
1 | "scripts": { |
执行脚本
1 | npm run runCode |
在控制台输出package.json中hello字段的值
1 | "scripts": { |
1 | npm run print |
NRM
NRM (npm registry manager)是npm的镜像源管理工具,有时候国外资源太慢,使用这个就可以快速地在 npm 源间切换。
安装
1 | npm install -g nrm |
相关命令
1 | nrm ls #查看可切换的源 |
NPX
在一些情况下使用npx命令
1.直接调用安装的模块(不需要输入node_modules/.bin)
2.避免全局安装(会自动下载下来执行命令然后自动删除)
3.–no-install 参数和–ignore-existing 参数(不自动安装,忽略已经安装的)
如果这篇文章对你有帮助,可以bilibili关注一波 ~ !此外,如果你觉得本人的文章侵犯了你的著作权,请联系我删除~谢谢!