问题:什么是包?
将一组相关的模块组合到一起,形成完整的工具。
大白话:就相当于文件夹里面,存了许多文件。
问二:包的结构?
1.包结构(package.json 描述文件 (必须要有的),bin --可执行二进制文件,lib--js代码,doc---文档,test---单元测试)
2.包描述文件
package.json 描述文件中值得注意的关键字:
dependencies: 依赖(介绍此包,依赖哪些其他的包文件)
devDependencies:开发依赖
main:主文件,"main":"./index" 表示包中index.js就是主文件
name:包名 “name”:"_ms_" 当要引用此包是 require("_ms_");
问三:npm(node package manager) node包管理器?
就是管理包文件的:帮助 所有人的包文件的发布,安装,依赖(如果你要下载a包,但是npm发现你的a包,需要依赖b包,所有会自动帮你下在b包);
问四:npm怎么安装?
不需要安装:当你安装node.js的时候,已经自动安装了
问五:如何判断npm是否安装成功?npm常用命令?
命令窗口直接输入:
npm --有输出就说明安装成功了
补充npm 常用命令:
npm -v 查看npm版本;
npm -version 产看npm所有相关信息(node版本,引擎版本)的版本
npm search 包名 查询有关相关的所有包文件:需联网
npm init 创建package.json 文件
npm install 包名 安装包
npm i 包名 安装包等同于npm install 包名
npm remove 包名 删除包名
npm r 包名 删除包名等同于npm remove 包名
npm install 包名 --save 安装包并添加到依赖中
npm install 下载项目所依赖的所有包:
npm install 包名 -g 全局安装包(一般都是一些工具,是在计算机里面用的,不是在项目中使用的)
npm search 包名 查询有关相关的所有包文件:需联网
npm install 包名称 安装”包“:
你可以在控制切换到你要安装的路径,在输入 npm install 包名称 命名;
第二种安装方式:
安装注意事项:安装的时候,你的目录下需要有package.json 这个文件,npm根据这个文件识别安装路径(有的时候,不创建也能安装上,有的时候不创建安装不上,为确能安装上,应创建);如果没用这个文件,你的包可能安装到别的地方。
你可以直接根据规则新建package.json 文件,可以 在命令窗口,通过npm init命令初始化来创建package.json 文件;
案列 :你要在桌面的hellnode文件夹下安装math这个包,
1.新建hellode文件夹
2.命令窗口切换到hellode路径下:
3.输入 npm init
此案列中包名就叫hellnode
询问版本号:直接回车
询问包描述: 案列中使用 ”测试npm“
询问默认的程序入口文件是否是inde.js 文件:直接回车
接下来的:
test command: 直接回车
git repository : 这个不设置 直接回车
keywords: 关键字这里不设置,直接回车
anthor: 作者不设置,直接回车
license:(ISC) 直接回车
Is this OK?(yes) 直接回车
命令结束后,就在桌面的hellnode文件中创建了package.json 包
打开如下:
{ "name": "hellnode", "version": "1.0.0", "description": "测试npm", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }
安装好package.json 包后,在安装 math 包,安装目录下输入,下面命令
安装好后出现,node_modules文件下面有math包
使用如下:math包下面新建,index.js 文件作为入口文件。 通过 require("包名"); 直接引入包;
在WebStorm 中演示
在命令窗口中演示:
问六:上面演示了,如何在新建的文件中安装npm包,那么如何在你的项目中安装npm包呢?
安装完成:
npm install 包名 --save 安装包并添加到依赖中
npm install 下载项目所依赖的所有包:重点介绍
如果你要上传你的项目到git上,一般别人不会上传项目中的node_modules这个文件夹,这个文件中存的是项目的所有依赖包,因为上传和下载都很慢
,那么,他如何让别人知道,他的项目中引入了哪些依赖呢?这个时候他必须在他的项目下载包的时候 ,使用npm install 包名 --save 这个命名;
在下载包的同时,把依赖信息也写入package.json 文案;而你,获取的项目中没有node_modules这个文件,你就要使用npm install 命名,把他package.json文件中描述的包文件全部下在下来;
演示:
作者:
1.初始化创建package.json包
使用命名: npm init
初始化完成后在桌面的hellnode文件夹中就有package.json 文件
2.下载 math 包:npm install math
通过npm install math命名安装号包后,package.json 文件中没用任何依赖信息;
3.我们直接删除hellnode,下面的所有文件,在重新执行一下命令
3.1 npm init
3.2 npm install math --save 这个命令和 npm install math 的区别在于,--save可以把依赖信息体现在package.json 文件中;
3.3执行完成后,我们再次查看package.json 文件把依赖信息,说明这个项目依赖math包;
这是作者上传项目到git的时候,把node_modules这个文件删除了,不上传这个文件,因为上传下载都很慢;
那么:
下载项目的码农:获取到的就是下面的两个文件,此时
因为package.json 文件中有项目的依赖信息,只需根据,npm install 命名,就可自动下载项目所依赖的所有包信息;