NPM的全称是Node Package Manager
node :node.js
package :包,包裹,包装
manager : 管理
npm是属于node的.安装了node.js就附带安装的npm,就可以使用npm,
使用node的npm,就是在使用node的包管理工具,可以从云端请求node为你安装各种node可以为你服务的包.比如你要安装jQuery,bootstrap,angular等,你只要在cmd命令符里进入到你要操作的文件夹里比如cd c:\桌面\abc (你在桌面建的名叫abc的文件夹),然后写"npm install bootstrap",node就会从云端给你下载安装你的bootstrap包.同理需要jQuery就npm install jquery,同理需要angular就npm install angular.
那么如何一次性安装很多个包呢? "npm init" ,init的意思是初始化.
这样就会生成一个
package.json
{
"name": "abc",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
} 复制代码
然后我在package.json文件代码里找到"dependencies"在里面添写
{
"jquery": "^3.3.1",
"bootstrap": "^4.1.1",
"angular": "*"
}
于是就成了
{
"name": "abc",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": { "jquery": "^3.3.1", "bootstrap": "^4.1.1", "angular": "*" //(表示我不要求特点版本,node默认会返回最新版本给我)
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
} 复制代码
然后在cmd里npm intall.它就会为了下载安装"jquery","bootstrap","angular"这些包.这些包放在项目目录下的node_modules文件夹里
所以package.json文件就是一个用到的哪些包的清单,后来者就不需要从你这拷贝包,他直接从云端下载用到的包就行,因为他只要有你的这个清单,就知道你用到哪些包,就可以用node的npm方法来下载到
所以很多项目,比如一个vue项目,你写好了,里面用到各种包,比如"jquery","bootstrap","angular"这些包.
现在你想分享你这个项目源码给别人,那么你需要完全的把你的所有源码包括"jquery","bootstrap","angular"这些包.都传输到网络上,让别人下载才能用吗.
实际上不需要上传"jquery","bootstrap","angular",你只要给你写的那部分代码,和package.json文件,别人就能在你的项目基础上再下载用到的包.就行