一、npm简介  

npm(Node Package Manager)是随同node.js 一起安装的包管理工具,为了解决nodejs代码部署上的很多问题,常用以下场景:

  1. 允许用户从npm服务器下载别人编写的地方包到本地使用。
  2. 允许用户将自己编写的包或明显杭程序上传到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:\Source2019\TestGit\TestGit> npm install webpack -g

PS D:\Source2019\TestGit\TestGit> npm install webpack

全局安装是安装一个工具,他不是安装在一个文件夹下,而是安装在某个全局环境下,一般安装的路径为,C:\Users\XXX\ 下面(PS:暂时未找到在那个目录下),全局安装在命令行中任何地方都可以直接调用。

局部安装是将项目安装以后,安装在./node_modules 下面,然后在项目中,我们可以使用require等方式应用,这样安装以后只能在本项目中使用,而webpack这样的工具在各种情况下使用,建议全局安装。

 为什么已经全局安装了,还需要本地安装呢? 

  1、仅仅是全局安装够用吗?

  通常情况下的引入模块是分为两种来寻找的,一种就是全局模块,通过NODE_PATH下去寻找;还有一种就是通过./node_modules去寻找。 如果在项目中,我们希望使用require来表现这种明显的依赖关系,那么我们就必须使用安装来进行require当然也是可以将全局安装的文件复制过来,但是这是非常麻烦的。 或者是使用..、.、/等这种相对或者绝对的方式来引入,这些无疑都是比较麻烦的,所以本地安装不够用。

  另外,我们也许在不同的项目中所需要的模块的版本是不同的,或者可能对某些模块进行重新命名,这就导致一个项目的重命名影响全局,这是不划算的。

  2、本地安装的重要性。

  因为我们需要的包可能有十个,他们之间相互依赖的,如果我们使用全局包,那么每次包的升级、更新等就会影响你的多个项目,那么依赖关系就会被破坏,所以使用本地安装有利于不同项目之间的独立性。

综上所述:除了工具类比如webpackbabel。以外建议使用本地安装,这样可以保证各自项目的包是独立的。

   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的语法

04 npm 命令大全的更多相关文章

  1. npm命令大全

    参考网站:https://docs.npmjs.com/ 有了npm,可以很快的找到特定服务要使用的包,进行下载.安装以及管理已经安装的包. npm 常用命令 npm install <name ...

  2. C/C++学习----使用C语言代替cmd命令、cmd命令大全

    [开发环境] 物理机版本:Win 7 旗舰版(64位) IDE版本:Visual Studio 2013简体中文旗舰版(cn_visual_studio_ultimate_2013_with_upda ...

  3. Hadoop命令大全

    Hadoop命令大全 分类: 云计算2011-03-01 15:04 6852人阅读 评论(0) 收藏 举报 hadoop作业任务集群class脚本 1.列出所有Hadoop Shell支持的命令   ...

  4. 开发必备linux命令大全-稳赚不亏

    我们的服务一般都是在linux系统运行,因此了解一些关于linux命令是必须.接下来将一一详细介绍一些常用的linux的命令 文件操作 远程登录与操作 磁盘挂载 进程管理 启动和结束 系统性能参数查看 ...

  5. .NET Core dotnet 命令大全

    dotnet 命令大全,让你理解dotnet 命令. 本文将以一个实例串起 dotnet 所有命令,让你玩转dotnet 命令. 本篇文章编写环境为windows 10 ,dotnet 命令同样适用于 ...

  6. 【转】Hadoop命令大全

    Hadoop命令大全 本节比较全面的向大家介绍一下Hadoop命令,欢迎大家一起来学习,希望通过本节的介绍大家能够掌握一些常见Hadoop命令的使用方法.下面是Hadoop命令的详细介绍. 1.列出所 ...

  7. CMD命令大全

    有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联. AT 计划在计算机上运行的命令和程序. ATTRIB 显示或更改文件属性. BREAK 设置或清除扩展式 CT ...

  8. DOS命令大全!

    一)MD——建立子目录 1.功能:创建新的子目录 2.类型:内部命令 3.格式:MD[盘符:][路径名]〈子目录名〉 4.使用说明: (1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前 ...

  9. 黑客攻击常用CMD命令大全

    黑客常用命令大全net user heibai lovechina /add 加一个heibai的用户密码为lovechina net localgroup Administrators heibai ...

随机推荐

  1. iOS 获取手机型号(已更新至iPhone11)

    + (NSString *)iphoneType {            //    需要导入头文件:#import <sys/utsname.h>        struct utsn ...

  2. WPF界面开发必备技能!TreeListView - 如何快速更新多个项目属性

    DevExpress广泛应用于ECM企业内容管理. 成本管控.进程监督.生产调度,在企业/政务信息化管理中占据一席重要之地.通过DevExpress WPF Controls,您能创建有着强大互动功能 ...

  3. k8sStatefulSet控制器

    一.StatefulSet概述 应用程序存在有状态和无状态两种类别,因为无状态类应用的pod资源可按需增加.减少或重构,而不会对由其提供的服务产生除了并发相应能力之外的其他严重影响.pod资源的常用控 ...

  4. 阅读之web应用安全

    一.三种坏人与servlet安全 认证可以防止“假冒者”攻击,授权可以防止“非法升级者”攻击,机密性和数据完整性可以防止“窃听者”攻击. 二.认证与授权 Web容器进行认证与授权的过程: 客户端:浏览 ...

  5. 【51nod 1667】概率好题

    题目 甲乙进行比赛. 他们各有k1,k2个集合[Li,Ri] 每次随机从他们拥有的每个集合中都取出一个数 S1=sigma甲取出的数,S2同理 若S1>S2甲胜 若S1=S2平局 否则乙胜 分别 ...

  6. 主流包管理工具npm、yarn、cnpm、pnpm之间的区别与联系——原理篇

    接触 node 之后,一直使用npm包管理工具, cnpm 一开始会用一些,但是并没有觉得比 npm 快得多,使用 cnpm 的时候还经常安装不成功,只能再用 npm 安装一遍,渐渐的就弃用了 cnp ...

  7. scanf的格式化字符串的匹配规则

    1.对于空白字符:空格.tab.回车等,scanf将忽略输入字符串的空白字符,直到下一个非空白字符,(并回放该非空白字符), 若该非空白字符与格式化字符串匹配,则读入 若该非空白字符与格式化字符串不匹 ...

  8. mina客户端发送消息延迟问题分析

    原文:http://www.cnblogs.com/haiq/archive/2011/08/01/2124292.html (写的蛮好,保存下来) 由于项目需要,用到了 mina 框架进行 tcp ...

  9. delphi请求http接口并上传附件

    实现附件的上传:需要使用TIdMultiPartFormDataStream控件, uses IdMultipartFormData; 例子: procedure TClientForm.Button ...

  10. 2019.12.12网页设计大赛&2019.12.13程序设计大赛观后感

    有幸参加了一次网页设计大赛和程序设计大赛,其实在大一的时候就参加过一次程序设计大赛,那时候也没怎么听,现在又有了一次机会来听,这次就认真的听了这两次的比赛,也有很多的感悟. 1.要学习完成一个任务的多 ...