什么是npmBower又是啥

前言

我们在开发时,会用到很多别人写的JavaScript代码。如果我们要使用别人写的某个包,每次都根据名称搜索一下官方网站,下载代码,解压,再使用,非常繁琐。

于是一个集中管理的工具应运而生:大家都把自己开发的模块打包后放到一个包管理器上,如果要使用,直接通过包管理器安装就可以直接用,不用管代码存在哪,应该从哪下载。

因此使用包管理器主要基于以下几个原因:

方便的寻找和下载你需要的依赖库,并将它们整合到项目中,例如jQuery,Angular等。

方便的下载指定版本的依赖库(免除去网络上搜索和下载)

便于你使用简单的方法获取你想要的依赖库

NPM概念

npm有两层含义。一层含义是Node的开放式模块登记和管理系统,网址为npmjs.org。另一层含义是Node默认的模块管理器,是一个命令行下的软件,用来安装和管理Node模块。

npm不需要单独安装。在安装Node的时候,会连带一起安装npm。但是,Node附带的npm可能不是最新版本,最好用下面的命令,更新到最新版本。

npminstallnpm

latest-g

运行下面的命令,查看各种信息。

#查看npm命令列表$npmhelp#查看各个命令的简单用法$npm-l#查看npm的版本$npm-v#查看npm的配置$npmconfiglist-l

npm是一个让JavaScript程序员分享和复用代码的工具。有了它,JS程序员能高效地管理和发布自己要分享的代码。

package.json

npminit;

通过上面这条命令初始化,目录中会多了一个名为package.json的文件。package.json用于说明NPM的配置信息。

package.json里面有两个对象是用来指定依赖的:

“dependencies”:这个对象下面列出生产环境下的依赖

“devDependencies”:这个对象下面列出开发环境的依赖

npminstall

Node模块采用npminstall命令安装。

每个模块可以全局安装,也可以本地安装。

全局安装:指的是将一个模块安装到系统目录中,各个项目都可以调用。一般来说,全局安装只适用于工具模块,比如eslint和gulp。

本地安装:指的是将一个模块下载到当前项目的node_modules子目录,然后只有在项目目录之中,才能调用这个模块。

#本地安装$npminstallpackagename#全局安装$sudonpminstall-globalpackagename$sudonpminstall-gpackagename

npminstall也支持直接输入Github代码库地址。

在安装之前,npminstall会先检查,node_modules目录中是否已经存在指定模块,如果存在就不再重新安装了,即使远成仓库已经有了一个新版本也是如此。

如果希望一个模块不管是否安装过,npm都要强制安装,可以使用-f或–force参数:

npminstallpackageName--force

install命令可以使用不同参数,指定所安装的模块属于哪一种性质的依赖关系,即出现在packages.json文件的哪一项中。

往package.json里面添加生产环境的依赖,被添加到dependencies:

npminstallpackage_name--save

添加开发环境的依赖,被添加到devDependencies:

npminstallpackage_name--save-dev

如果当前环境下有package.json,直接运行下面的命令:

npminstall

npminstall默认会安装dependencies字段和devDependencies字段中的所有模块。

npmupdate

如果想更新已安装模块,就要用到npmundate命令。

#升级当前项目的指定模块$npmupdate[packagename]#升级全局安装的模块$npmupdate-global[packagename]

它会先到远程仓库查询最新版本,然后查询本地版本。如果本地版本不存在,或者远程版本较新,就会安装。

使用-S或–save参数,可以在安装的时候更新package.json里面模块的版本号。

npminfo

npminfo命令可以查看每个模块的具体信息。比如,查看underscore模块的信息。

npminfounderscorenpmsearch

npmsearch命令用于搜索npm仓库,它后面可以跟字符串,也可以跟正则表达式。

npmlist

加上global参数,会列出全局安装的模块。

npmlist-global

npmlist命令也可以列出单个模块。

npmlistunderscorenpm仓库

npmupdate命令怎么知道每个模块的最新版本呢?

npm模块仓库提供了一个查询服务,叫做registry。以npmjs.org为例,它的查询服务网址是







































北京市哪里治疗白癜风最好
北京去哪家医院治疗白癜风比较好



转载请注明:http://www.xinanxianzx.com/xark/3808.html

  • 上一篇文章:
  •   
  • 下一篇文章: