NPM

摘要:
下面简单示例演示webStorm中如何通过npm引用math包。

包(package)

CommonJS的包规范允许将多个模块组合为一个完整的功能,就是一个包

包规范由包结构和包描述文件两个部分组成

- 包结构

bin
- 二进制的可执行文件,一般都是一些工具包中才有
lib
- js文件
doc
- 文档
test
- 测试代码
package.json

- 包的描述文件

- package.json
- 它是一个json格式的文件,在它里面保存了包各种相关的信息
name 包名
version 版本
dependencies 依赖
main 包的主要的文件
bin 可执行文件

Math 包结构如图所示

NPM第1张

npm(Node Package Manager node的包管理器)

通过npm可以对node中的包进行上传、下载、搜索等操作,npm会在安装完node以后,自动安装。

下面简单示例演示webStorm中如何通过npm引用math包。

NPM第2张

一、执行npm install math之前,根目录下一般要有package.json,先在01.node文件下通过node init 生成package.json

NPM第3张

NPM第4张

二、npm 安装math包

NPM第5张

NPM第6张

其中package.json,包含依赖信息

NPM第7张

三、index.js 中引用math

/*
通过npm下载的包都放到node_modules文件夹中
我们通过npm下载的包,直接通过包名引入即可
*/
var math = require("math")
console.log(math.add(1,4));

npm常用指令

npm -v 查看npm的版本
npm version 查看所有模块的版本
npm init 初始化项目(创建package.json)
npm i/install 包名 安装指定的包
npm i/install 包名 --save 安装指定的包并添加依赖
npm i/install 包名 -g 全局安装(一般都是一些工具)
npm i/install 安装当前项目所依赖的包
npm s/search 包名 搜索包
npm r/remove 包名 删除一个包

CNPM

当然我们也可以通过cnpm从中国镜像服务器下载资源,使用cnpm之前需要执行以下指令

npm install -g cnpm --registry=https://registry.npm.taobao.org

Node包搜索流程

Node在使用模块名字来引入模块时,它会首先在当前目录的node_modules中寻找是否含有该模块
如果有则直接使用,如果没有则去上一级目录的node_modules中寻找
如果有则直接使用,如果没有则再去上一级目录寻找,直到找到为止
直到找到磁盘的根目录,如果依然没有,则报错

免责声明:文章转载自《NPM》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇云计算管理平台之OpenStack启动虚拟机实例云盘项目——FastDFS下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

安装pywin32模块

“)if__name__==”__main__“:RegisterPy()在保存后输入cmd,切换到存储py文件的目录,执行pythonregisted.py,然后重新运行exe文件以安装pywin32。...

RPi 树莓派 DSI 接口研究 MIPI raspberry pi

我已经玩树莓派很久了。我发现尚未使用DSI显示界面。经过一些研究,我发现它很有趣。我稍后会记录相关信息。(更新1:目前,整个网络上有很多方案来研究hdmi和mipi之间的相互转换方案:a.)mipi屏幕+hdmi界面:大多数都是因为有很多mipi屏幕和漂亮的参数而被研究的。详细信息:谷歌,得益于包括智汇在内的各种大神的研发,如Pocket LCD方案。最困难...

PowerQuery清理非文件名字符(清除指定列表中的所有字符)

在左侧导航窗格的空白区域右击,依次找到空白查询项接下来的思路是:遍历列表SearchList中的所有项,依次清理Data表中所有想要处理的列。第三个参数是一个函数:它告诉List.Accumulate函数,在每一次使用SearchList中某一项操作Data表时,其操作的方式是如何的。...

iReport制作报表,字数过多换行问题

1.当字段中显示的数据太长而无法放入表中时,需要自动换行。选择要更改的表(显示动态内容的字段),并将Stretchwithoverflow属性设置为选中。未选中前:选中后:2.然而,桌子坏了,非常难看。此时,我们需要设置一个属性,使同一行中的其他字段保持与换行字段相同的高度。此时,我们需要框选要显示在整行中的动态字段和表;将属性StretchType设置为R...

Tomcat和JDK版本的对应关系

当我们讨论Tomcat和JDK版本之间的对应关系时,我们实际上讨论了两个问题。对于第一个问题,您可以通过官方网站上的图的最后一列获得答案:因此,如果您安装Tomcat 7,则需要安装JDK1.6和更高版本才能正常启动Tomcat。对于第二个问题,我们应该明确第一个问题和第二个疑问有相同的基本答案:低版本JDK不能运行高版本JDK编译的代码。因此,如果您安装T...

SIP 协议

SIP是会话层的信令控制协议。SIP是一种类似于HTTP的基于文本的协议。SIP可以缩短应用程序,特别是高级应用程序的开发时间。由于基于IP协议的SIP使用IP网络,固定网络运营商将逐渐意识到SIP技术对他们的深远意义。随着国际电信联盟SS7标准和ITUH 323视频协议组合标准的长期存在,SIP的工作独立于底层网络传输协议和媒体。SIP的四个基本功能是定位...