node基础_npm简介

NPM(Node Package Manager)

CommonJS包规范是理论,NPM是其中一种实践。

对于Node而言,NPM帮助其完成了"第三方模块"的发布、安装和依赖等。借助NPM,Node与第三方模块之间形成了很好的一个生态系统。

npm等于说相当于一个node包管理平台,你可以将你的模块也放上去让大家使用。

NPM命令

npm –v:查看版本

npm:帮助说明

npm search 包名 :搜索模块包

npm install :下载当前包所依赖的包,也就是根据你包的package里面的版本信息去自动下载你这个包所依赖的其它包,不用你自己去下载。

npm install 包名 :在当前目录安装包

npm install 包名 –g : 全局模式安装包(全局安装的包一般都是一些工具,不是在项目里面使用的,而是在系统上用的,比如编译工具啥的)

npm remove 包名 :删除一个模块

npm install 文件路径 :从本地安装

npm install 包名 –registry=地址 :从镜像源安装

npm config set registry 地址 :设置镜像源

npm install 包名 --save :添加包,并在package.json文件里添加依赖项,也就是添加dependencies字段,用来表示你的包所依赖的其他包是什么。


比如:使用npm下载math模块

①桌面创建一个文件夹(math_npm),用来存放下载的math模块。

②在该文件夹下创建package.json文件,不然可能下载不到这个文件夹里面,而是下载到别的文件夹里了。可以直接通过node来创建package文件,这样比你自己手动写json对象快。步骤:打开命令提示符,将终端进入你创建的额文件夹里,然后你电脑是装了node环境的,所以就默认自带了npm管理工具的,只需要保证有网即可下载。输入npm init,然后依次设置字段名的值即可创建package.json文件。如:
image

可以看到文件夹里创建好了该文件了。
image

里面的package里面就是刚刚终端里输入的值。
image

npm search 包名 :可以搜索npm里面的包。
文件夹和package都有了就可以下载math包了。下载命令:npm install 包名
还是在文件夹的终端里打开命令提示符,输入指令下载。
image

文件夹里面就下载好这个包了。
image

测试使用:
在这个文件夹里面创建一个js文件(hello.js)
image

然后记事本打开编写如下代码:
image

然后在当前js所在文件夹的终端运行该js即可看到结果:
image



使用vscode代码编辑工具ide进行模块下载。

①新建一个文件夹math_npm,打开vscode,将此文件夹在vscode里打开:
image

②在这个文件夹下空白区域右键,选择在终端中打开,让命令提示符处于文件夹下:
image

如:
image

③创建package.json文件
在终端输入npm init后,跟着敲回车输入package的字段的值后,就创建好package.json文件了。
image

④然后,在终端里直接下载math模块即可,在终端输入npm search math,然后即可在文件夹里看到下载好的包(node_modules)。
image

⑤然后使用这个下载的包,在math_npm文件夹下创建一个js文件(hello.js)
image

⑥在hello.js里引用这个模块即可,因为不是自定义的模块,所以不用加js后缀和./
image

⑦运行测试,要运行这个hello.js就有将终端定位在这个js文件的上一级文件夹里,hello.js这个文件的上一级就是根目录了,所以直接在hello.js这个文件右键即可打开终端即可:
image

⑧输入运行js的node指令即可
image


node 搜索包的流程

通过npm下载的包都是放到node_modules文件夹中的。
我们在同一个包里面要使用下载的包,直接通过包名引入即可,它会自动到你这包的node_modules文件夹里找。

node在使用模块名字来引入模块时,它会首先在当前目录中的node_modules文件夹里找是否有该模块,如果有则使用,没有就去上一级目录的node_modules文件夹里找,上一级没有node_modules文件夹或者是node_modules文件夹里没有该模块,则再去上一级找,直到找到硬盘的根目录为止,如果依然没有,则报错。注意,往上一级找是不会找同级的目录下的,只在同级找,如果他要的模块在同一级的某个文件夹下,那么它也是不会去里面找的。

posted @ 2022-03-21 18:33  青仙  阅读(293)  评论(0编辑  收藏  举报