文档章节

nodejs 包管理npm

IT追寻者
 IT追寻者
发布于 2016/06/28 16:58
字数 1089
阅读 50
收藏 4

如今每个语言体系中都有一个包管理工具,PHP的Composer,Ruby的gem,Python的pip,Java的Maven……当然还有Node.js的npm。有的人会奇怪为何要引入又一个新东西来让我们已经够辛苦的编程工作雪上加霜呢?其实不然,例如我们在做Java开发的时候,有的项目依赖数百个jar,开发人员在build之前总会碰到各种包版本,包找不到的问题,但包管理工具却让我们从这种依赖噩梦中解救出来。我们开发过程中的任何依赖,都可以通过这种工具自动从远程的包仓库中下载回来,并且保证是我们需要的版本,然我们可以专注于开发生产中。下面介绍npm 命令:

1、npm install moduleNames:安装Node模块 安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。

node的安装分为全局模式和本地模式。 一般情况下会以本地模式运行,包会被安装到和你的应用程序代码的本地node_modules目录下。 在全局模式下,Node包会被安装到Node的安装目录下的node_modules下。

全局安装命令为$npm install -g moduleName。 获知使用$npm set global=true来设定安装模式,$npm get global可以查看当前使用的安装模式。

示例: npm install express 默认会安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本,如npm install express@3.0.6

npm install <name> -g 将包安装到全局环境中

但是代码中,直接通过require()的方式是没有办法调用全局安装的包的。全局的安装是供命令行使用的,就好像全局安装了vmarket后,就可以在命令行中直接运行vm命令

npm install <name> --save 安装的同时,将信息写入package.json中项目路径中如果有package.json文件时,直接使用npm install方法就可以根据dependencies配置安装所有的依赖包,这样代码提交到github时,就不用提交node_modules这个文件夹了。

2、npm view moduleNames:查看node模块的package.json文件夹 注意事项:如果想要查看package.json文件夹下某个标签的内容,可以使用$npm view moduleName labelName

3、npm list:查看当前目录下已安装的node包 注意事项:Node模块搜索是从代码执行的当前目录开始的,搜索结果取决于当前使用的目录中的node_modules下的内容。$ npm list parseable=true可以目录的形式来展现当前安装的所有node包

4、npm help:查看帮助命令

5、npm view moudleName dependencies:查看包的依赖关系

6、npm view moduleName repository.url:查看包的源文件地址

7、npm view moduleName engines:查看包所依赖的Node的版本

8、npm help folders:查看npm使用的所有文件夹

9、npm rebuild moduleName:用于更改包内容后进行重建

10、npm outdated:检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新

11、npm update moduleName:更新node模块

12、npm uninstall moudleName:卸载node模块

13、一个npm包是包含了package.json的文件夹,package.json描述了这个文件夹的结构。访问npm的json文件夹的方法如下: $ npm help json 此命令会以默认的方式打开一个网页,如果更改了默认打开程序则可能不会以网页的形式打开。

14、发布一个npm包的时候,需要检验某个包名是否已存在 $ npm search packageName

15、npm init:会引导你创建一个package.json文件,包括名称、版本、作者这些信息等

16、npm root:查看当前包的安装路径 npm root -g:查看全局的包的安装路径

17、npm -v:查看npm安装的版本

1.通过npm写一个cli命令行工具

© 著作权归作者所有

共有 人打赏支持
IT追寻者

IT追寻者

粉丝 26
博文 369
码字总数 55527
作品 0
海淀
高级程序员
私信 提问
npm 宣布协作工具 Orgs 免费,可不限量管理公有包

npm 开发团队发文宣布,为了更好的帮助团队共享代码并进行权限管理,所有使用 npm 开源包管理工具的开发者,均可以免费使用协作工具 npm Orgs,可以不限协作者、不限数量的管理 public packa...

王练
2017/03/26
1K
2
Node.js模块与npm包管理

一、Node.js模块对象的属性 在Node.js模块内部,模块对象具有以下的属性: module.id:属性值是当前模块的id,在默认情况下,主模块的ID属性值是“.”,其他模块的ID属性值为该模块文件的绝对...

同Young不同样
08/10
0
0
PHPStorm实现自动编译less文件

一、下载nodejs https://nodejs.org/en/ 二、安装,一直“Next” 三、检查是否安装成功 四、安装lessc模块 cmd // 打开cmd控制台 cd F:Program Filesnodejsnode_modulesnpm // 进入npm包管理...

T_star
07/31
0
0
01-Windows下安装Node.js及环境配置

1. 前期准备 1、Node.js简介 简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模...

小旋风柴进
06/16
0
0
Centos6安装安装node.js

install node v7.x #设置镜像 #安装nodejs #验证安装情况 install node v8.x curl --silent --location https://rpm.nodesource.com/setup8.x | bash - sudo yum install -y nodejs #验证安装......

qianghong000
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

新手也能看懂,消息队列其实很简单

该文已加入开源项目:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识的文档类项目,Star 数接近 16k)。地址:https://github.com/Snailclimb/JavaGuide. 本文内容思维导图: 消息...

阿里云官方博客
30分钟前
5
0
如何在Chrome浏览器中启动deviceready事件(尝试调试phonegap项目)?

我正在开发PhoneGap应用程序,我希望能够在Chrome中调试它,而不是在电话上调试。但是,我在onGetReady()函数中初始化我的代码,该函数在PhoneGap触发“deviceready”事件时触发。由于Chr...

kisshua
今天
9
0
nginx中部署vue打包后的静态文件

如何在nginx中部署静态资源就不描述了, 请看我的这篇博客 将vue脚手架项目打包后的静态文件放到nginx上, 发现有个问题, 即url上有#, 怎么去掉这个#呢. 1 项目中router的mode 路由的mode要为h...

克虏伯
今天
13
0
JS容易理解错误的地方

在这端代码执行的末尾,你会不会hi变量回事函数中的hi了?你会不会认为这不是按引用传递了? 对值传递和引用传递产生质疑了? 1 var hi = {};2 function sayHello(hi) { ...

器石_
今天
10
0
Java开发学习--MongoDB

之前只学过sql,第一次使用非关系型数据库。以前对于关系型数据库与非关系型数据库的概念很模糊,通过这次的学习对这两者有了一个清晰的概念。 主键 在MongoDB中,主键名叫"_id",如果在生成...

微笑向暖wx
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部