Node.js的npm包管理器基础用法教程__第1页
Node.js的npm包管理器基础用法教程__第2页
Node.js的npm包管理器基础用法教程__第3页
Node.js的npm包管理器基础用法教程__第4页
Node.js的npm包管理器基础用法教程__第5页
免费预览已结束,剩余5页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Node.js的npm包管理器基础用法教程_ 格外是JavaScript领域中,基于NPM的网络传输方式真的是越来越流行,包括React与Vue等很多JavaScript库与框架都选择用法npm进行管理,这里就为大家送上Node.js的npm包管理器基础用法教程,需要的伴侣可以参考下 配置 npm set npm set init-author-name Your name npm set init-author-email Your email npm set init-author-url npm set init-license MIT 上面指令等于为npm init设置了默认值,以后执

2、行npm init的时候,package.json的姓名、邮件、主页、许可证字段就会自动写入预设的值。这些信息会存放在用户主名目的/.npmrc文件,使得用户不用每个项目都输入。 假如某个项目有不同的设置,可以针对该项目运行npm config。 1. npm set save-exact true 上面指令设置加入模块时,package.json将记录模块的准确版本,而不是一个可选的版本范围。 2. npm config get prefix 3. npm config set prefix /usr/local npm用法 安装: npm install grunt-cli 安装之前,np

3、m install会先检查,node_modules名目之中是否已经存在指定模块。假如存在,就不再重新安装了,即使远程仓库已经有了一个新版本,也是如此。 假如你盼望,一个模块不管是否安装过,npm 都要强制重新安装,可以用法-f或-force参数。 本地安装: package会被下载到当前所在名目,也只能在当前名目下用法。安装结束后,当前名目下回多出一个node_modules名目,grunt-cli就安装在里面。 npm install -g grunt-cli 全局安装:package会被下载到到特定的系统名目下,安装的package能够在全部名目下用法。现在变成了/usr/local/l

4、ib/node_modules/grunt-cli,/usr/local/lib/node_modules/也就是之前所说的全局安装名目啦。 1.安装当前名目package.json文件中配置的devDependencies模块 npm install 2.安装本地的模块文件 npm install ./package.tgz 3.安装指定URL的模块 npm install 4.安装本地文件系统中指定的名目包含的模块 npm install folder 5.安装并更新package.json中的版本配置 npm install name save|save-dev|save-optiona

5、l (1)添加save 参数安装的模块的名字及其版本信息会消失在package.json的dependencies选项中 (2)添加save-dev 参数安装的模块的名字及其版本信息会消失在package.json的devDependencies选项中 (3)添加save-optional 参数安装的模块的名字及其版本信息会消失在package.json的optionalDependencies选项中 6.安装模块的指定版本 npm install nameversion Example: npm install underscore1.5.2 7.安装模块指定版本号范围内的某一个版本 npm

6、 install nameversion range Example: npm install async”=0.2.0 0.2.9 force强制拉取远程资源,即使本地已经安装这个模块 Example: npm install underscore force 8.-g或global全局安装模块,假如没有这个参数,会安装在当前名目的node_modules子名目下 Example: npm install -g express 假如你盼望,全部模块都要强制重新安装,那就删除node_modules名目,重新执行npm install。 $ rm -rf node_modules $ npm

7、install 更新 npm update -g name name 更新指定name列表中的模块。-g参数更新全局安装的模块。 假如没有指定name,且不是在某个模块内,会更新当前名目依靠的全部包都会被更新(包括全局和模块内);假如当前名目在某个模块名目内,会更新该模块依靠的模块,所以不指定name挺直运行npm update时,最好在某个模块内运行,以免更新到其他不想更新的模块。 卸载 npm uninstall package 查看 查看安装了那些包 npm ls -depth=0 查看特定包具体信息 npm ls grunt-cli npm info grunt-cli 搜索 npm

8、search grunt-cli 发布 1.package.json package.json说明: npm指令运行时会读取当前名目的 package.json 文件和说明这个文件,这个文件基于 Packages/1.1规范。在这个文件里你可以定义你的应用名称( name )、应用描述( description )、关键字( keywords )、版本号( version )、应用的配置项( config )、主页( homepage )、( author )、资源仓库地址( repository )、bug的提交地址( bugs ),授权方式( licenses )、名目( director

9、ies )、应用入口文件( main )、指令行文件( bin )、应用依靠模块( dependencies )、开发环境依靠模块( devDependencies )、运行引擎( engines )和脚本( scripts )等。 对于开发者而言,开发和发布模块都依靠于他对这个文件 package.json 所包含的意义的正确理解。我们下面用一个本文共用的例子来说明: name: test, version: 0.1.0, description: A testing package, author: A messed author messed, dependencies: express

10、: 1.x.x, ejs: 0.4.2, redis: = 0.6.7 , devDependencies: vows: 0.5.x , main: index, bin: test: ./bin/test.js , scripts: start: node server.js, test: vows test/*.js, preinstall: ./configure, install: make make install , engines: node: 0.4.x 这个例子里我们定义了应用的入口文件( main )为 index ,当其他应用引用了我们的模块 require(test)

11、时,这个 main 的值 index.js 文件被调用。脚本( scripts )用法hash 表定义了几个不同的指令。script.start 里的定义的 node server.js 会在 npm start 时被调用,同样的 npm test 调用时对应的 scripts.test 里定义的指令被调用。在有些 native 模块需要编译的话,我们可以定义预编译和编译的指令。 本例中还定义了应用依靠模块( dependencies )和开发环境依靠模块( devDependencies )。应用依靠模块会在安装时安装到当前模块的 node_modules 名目下。开发环境依靠模块主要时在开

12、发环境中用到的依靠模块,用指令 npm 的指令 install 或 link 加上参数 dev 安装到当前模块的 node_modules 名目下。 name: package的名字(由于他会成为url的一部分,所以 non-url-safe 的字母不会通过,也不允许消失.、_),最好先在(/上搜下你取的名字是否已经存在) version: package的版本,当package发生改变时,version也应当跟着一起改变,同时,你声明的版本需要通过semver的校验(semver可自行谷歌) dependencies: package的应用依靠

13、模块,即别人要用法这个package,至少需要安装哪些东东。应用依靠模块会安装到当前模块的node_modules名目下。 devDependencies:package的开发依靠模块,插件发布的时候自动删除不相关代码。用个文件记录一下当前项目中安装或者需要的插件,即别人要在这个package上进行开发,可以一键安装项目所需插件。 2.版本号 大家也留意到 package.json 里的版本号有些是 = 0.6.7 有些是 1.x.x,这有什么区分?npm 用法于语义化的版本识别来进行版本管理。并不是全部的模块都会供应向后兼容性,有时候某些模块由于某些缘由导致不向后兼容。所以我们需要定义一些规

14、章来保证模块能够在某些特定的版本中可用,并且保证能用最新的版本,由于那些版本总是修改了一些 bug 或提升了性能等。我们来看一下版本定义的字段: 例子:0.4.2 + 大版本(0) + 小版本(4) + 补丁版本(2) 一个软件发布的时候,默认就是 1.0.0 版。假如以后发布补丁,就增加最终一位数字,比如1.0.1;假如增加新功能,且不影响原有的功能,就增加中间的数字(即小版本号),比如1.1.0;假如引入的改变,破坏了向后兼容性,就增加第一位数字(即大版本号),比如2.0.0。 在上面 package.json 的定义里我们确信模块在全部的 Nodejs 0.4及以上和0.5以下版本里都能运行。依靠模块 redis 在全

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论