npm
https://youtu.be/jHDhaSSKmB0
npm,node package manager,
- Install, remove, update & list packages
- All about package.json
- local & global packages
- Dependencies/dev-dependencies
- Command & shortcuts
- versioning
- NPM scripts
node.js
node.js as an asynchronous event-driven JavaScript runtime()异步事件驱动的javascript运行时。
node.js的事件驱动与使用OS的线程的并发模型相对比。
HTTP是Node.js中的一流公民,设计具有流式传输和低延迟。这使得node.js非常适合Web库或框架的基础。
node.js与javascript的区别:
javascript是一种用于在website上写脚本的编程语言,只能运行在客户端的浏览器中,用于前端开发。
node.js是javascript runtime environment,在nodejs的帮助下可以在浏览器之外运行javascript,通常用在服务器端开发。
npm
npm -v
npm --version
npm ls: list installed modules
npm ll or npm la: list installed modules with more information
npm search <package>
npm install <package>: install local pakage
npm install -g <package>: install global package
npm uninstall <package>: uninstall local pakage
npm update: update packages
npm t: run test
Package.json
-
Manifest file with app info
-
lists dependencies (name & version)
-
specify if versions should be updated
-
Create NPM scripts
-
Easily create with
npm init
-
npm init -y: init package.json with default config npm set init-author-name "yin bai": set default author
dependencies & dev-dependencies
npm install <package> --save
下载package,会自动将package添加到package.json的dependencies中。
npm install <package> --save-dev
下载package,会自动将package添加到package.json的devDependencies中。
npm install
按照package.json文件下载依赖,包括dependencies和devDependencies下的依赖。
npm install --production
则只会下载dependencies下的依赖。
Command & shortcut
npm uninstall <package>
npm remove <package> save
npm install lodash@4.17.3 --save
npm update
versioning
以版本8.2.6举例:
- 8:major version, breaking changes, breaks API
- 2:minor version, new features, does not break API
- 6:patch version, bug fixes
版本前面的符号表示:
-
^
: keep the major version, using the lastest minor version (default) -
~
: keep the major & minor version, using lastest patch version -
: exact the major & minor & patch version
-
*
:lastest version
Local & global packages
npm install <package>
下载package到当前的node_module路径下
npm install -g <package>
下载package到global路径下,而不是当前路径下。
npm root -g
查看当前系统的global package的路径
Nodemon:node的包装器,当代码更改时,可以自动重启node应用。
Live-server: 具有实时重载功能的小型开发服务器
npm remove <package> -g
npm list
:查看package
npm list --depth 0
只查看第一层级的package
NPM scripts
在package.json文件的scrtpts中可以写npm的脚本,
{
"name": "npmapp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js",
"server": "live-server"
},
"author": "",
"license": "ISC",
"dependencies": {
"gulp": "^4.0.2",
"lodash": "^4.17.21"
},
"devDependencies": {}
}
npm start
会运行node index.js
npm test
则会打印出错误信息。
npm run server
则会运行live-server