Node.js教程之npm初步学习
沉沙 2019-03-11 来源 : 阅读 739 评论 0

摘要:本篇文章探讨了Node.js教程之npm初步学习,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

本篇文章探讨了Node.js教程之npm初步学习,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

Node.js教程之npm初步学习

<


1.npm 包管理工具
Node.js包管理器,即npm是Node.js官方提供的包管理器工具,他已经成了Node.js包的标准发布平台,用于Node.js包的发布,传播,依赖控制.npm提供了命令行工具,使你可以方便的下载,安装,,升级,删除包,也可以让你作为开发者发布并维护包.
这个东西会跟随着NodeJs的安装而自动安装,通过在命令行中输入npm -v查看npm安装的版本,这样间接可以知道是否已经成功安装了npm。
E:\NodeJS>npm -v2.14.12下面简单看一下npm的作用:允许用户从NPM服务器下载别人编写的第三方包到本地使用。允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
2.使用npm下载安装包
npm install packageName  或者npm i packageName
安装成功的包,会放置在当前目录的node_modules子目录下,npm在获取包的同时还会自动解析其依赖,并会去下载其依赖的包。
2.1本地模式和全局模式
在使用npm安装包时, 有两种模式,一种本地模式(不带参数-g),一种全局模式。本地安装    不加-g1. 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。2. 可以通过 require() 来引入本地安装的包。
默认情况下,不带参数-g的install命令采用的就是本地模式,包将会安装在子目录node_modules下。Node.js的require在加载模块时会尝试搜寻该目录,因此使用本地模式安装的包可以被直接引用。
全局安装    加-g1. 将安装包放在 /usr/local 下。2. 可以直接在命令行里使用。3. 不能通过 require() 来引入本地安装的包
加了-g安装,npm 会将包安装到系统目录,譬如 /usr/local/lib/node_modules/,同时 package.json 文 件中 bin 字段包含的文件会被链接到 /usr/local/bin/。/usr/local/bin/ 是在PATH 环境变量中默认 定义的,因此就可以像之前supervisor工具那样子直接在命令行中运行 supervisor script.js命令了。
为什么要使用全局模式呢?多数时候并不是因为许多程序都有可能用到它,为了减少多重副本而使用全局模式,而是因为本地模式不会注册 PATH 环境变量。             required  注册path本地模式    YES        NO全局模式    NO         YES总而言之,当我们要把某个包作为工程运行时的一部分,通过本地模式获取,如果要在命令行下使用,则使用全局模式安装.
 
3.使用npm发布包3.1制作一个符合CommonJS规范的package.json文件通过使用npm init可以根据交互式问答产生一个符合标准的package.json   ==>>>   比如创建一个myPackage的目录,然后在这个目录中运行npm init
E:\NodeJS\myPackage>npm initThis utility will walk you through creating a package.json file.It only covers the most common items, and tries to guess sensible defaults.See `npm help json` for definitive documentation on these fieldsand exactly what they do.Use `npm install <pkg> --save` afterwards to install a package andsave it as a dependency in the package.json file.Press ^C at any time to quit.name: (myPackage) YZRSorry, name can no longer contain capital letters.name: (myPackage) yzrversion: (1.0.0) 0.0.1description: testentry point: (index.js) default.jstest command: make testgit repository: //github/YangZhiRan/mypackage.gitkeywords: nodejs yzrauthor: YZRlicense: (ISC) MITAbout to write to E:\NodeJS\myPackage\package.json:{  "name": "yzr",  "version": "0.0.1",  "description": "test",  "main": "default.js",  "directories": {    "doc": "doc",    "test": "test"  },  "scripts": {    "test": "make test"  },  "repository": {    "type": "git",    "url": "//github/YangZhiRan/mypackage.git"  },  "keywords": [    "nodejs",    "yzr"  ],  "author": "YZR",  "license": "MIT"}Is this ok? (yes) yesE:\NodeJS\myPackage>3.2得到一个npm帐号在发布之前,我们需要一个帐号用于今后维护自己的包,使用npm adduser根据提示输入用户名,密码,邮箱,等待帐号创建完成。完成后可以使用npm whoami测验是否已经取得了帐号.
E:\NodeJS\myPackage>npm adduserUsername: YangZhiRannpm WARN Username must be lowercaseUsername: yangzhiranPassword:Email: (this IS public) 2437676796@qq.comE:\NodeJS\myPackage>npm whoamiyangzhiran3.3发布在package.json文件所在目录下运行npm publish  ===>访问https://www.npmjs.com/就可以找到自己发布的包了
E:\NodeJS\myPackage>npm publish+ yzr@0.0.13.4更新版本只需要在package.json文件中修改version字段,然后重新使用npm publish 命令。3.5卸载包使用npm unpublish命令来取消发布.
 
下面涉及npm代理的设置,有需要可以看一下:
设置http代理:npm config Set proxy http:ip地址:端口
取消代理设置:npm config delete proxy
   

本文由职坐标整理发布,学习更多的相关知识,请关注职坐标IT知识库!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程