一、npm简介
npm(Node Package Manager)是随同node.js 一起安装的包管理工具,为了解决nodejs代码部署上的很多问题,常用以下场景:
- 允许用户从npm服务器下载别人编写的地方包到本地使用。
- 允许用户将自己编写的包或明显杭程序上传到NPM服务器供别人使用。
二、npm使用前提
必须先安装node.js,安装地址官网http://nodejs.cn/,安装完成以后通过“node -v”查看版本号
三、第一次git了项目
第一次git上获取项目,记得一定要先npm install
因为刚下载的项目,没有node_modules,只有通过npm install命令以后会根据package.json 去下载相关依赖包。
四、npm命令大全
1、 npm install 安装模块
PS D:Source2019TestGitTestGit> npm install webpack -g
PS D:Source2019TestGitTestGit> npm install webpack
全局安装是安装一个工具,他不是安装在一个文件夹下,而是安装在某个全局环境下,一般安装的路径为,C:UsersXXX 下面(PS:暂时未找到在那个目录下),全局安装在命令行中任何地方都可以直接调用。
局部安装是将项目安装以后,安装在./node_modules 下面,然后在项目中,我们可以使用require等方式应用,这样安装以后只能在本项目中使用,而webpack这样的工具在各种情况下使用,建议全局安装。
为什么已经全局安装了,还需要本地安装呢?
1、仅仅是全局安装够用吗?
通常情况下的引入模块是分为两种来寻找的,一种就是全局模块,通过NODE_PATH下去寻找;还有一种就是通过./node_modules去寻找。 如果在项目中,我们希望使用require来表现这种明显的依赖关系,那么我们就必须使用安装来进行require,当然也是可以将全局安装的文件复制过来,但是这是非常麻烦的。 或者是使用..、.、/等这种相对或者绝对的方式来引入,这些无疑都是比较麻烦的,所以本地安装不够用。
另外,我们也许在不同的项目中所需要的模块的版本是不同的,或者可能对某些模块进行重新命名,这就导致一个项目的重命名影响全局,这是不划算的。
2、本地安装的重要性。
因为我们需要的包可能有十个,他们之间相互依赖的,如果我们使用全局包,那么每次包的升级、更新等就会影响你的多个项目,那么依赖关系就会被破坏,所以使用本地安装有利于不同项目之间的独立性。
综上所述:除了工具类比如webpack,babel。以外建议使用本地安装,这样可以保证各自项目的包是独立的。
npm install X、npm install X -save、npm install X -save-dev的区别?
1、npm install X:
会把X包安装到node_modules目录中,
不会修改package.json,
之后运行npm install 命令时,不会自动安装X
2、npm install X -save:
会把X包安装至node_modules目录中,
会在package.json的dependencies属性中添加X,
之后运行npm install命令会自动安装X到node_modules中
运行时需要引用的包
3、npm install X-save-dev
会把X包安装到node_modules目录中
会在package.json的devDependencies属性下添加X
之后运行npm install命令时,会自动安装X到node_modules目录中
开发过程需要使用的包
2.npm uninstall 卸载模块
3.npm update 更新模块
4.npm outdated 检查模块是否已经过时
5.npm ls 查看安装的模块
6.npm init 在项目中引导创建一个package.json 文件
通过package.json描述包引用情况,以便后续的其他的项目开发或者他人合作使用。
7.npm help 查看某条命令的详细帮助
这个相当方便,会自动打开相应命令的帮助文档。
8.npm root 查看包的安装路径
9.npm config 管理npm的配置路径
10.npm start 启动模块
11.npm stop 停止模块
12.npm restart 重新启动模块
13.npm test 测试模块
14.npm version 查看模块版本
15.npm view 查看模块的注册信息
16.npm adduser 用户登录
17.npm publish 发布模块
18.npm access 在发布的包上设置访问级别
19.npm package.json的语法