NPM

Posted xiaoliangup

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NPM相关的知识,希望对你有一定的参考价值。

包(package)

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

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

- 包结构

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

- 包的描述文件

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

Math 包结构如图所示

技术图片

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

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

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

技术图片

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

技术图片

 技术图片

二、npm 安装math包

技术图片

技术图片

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

技术图片

三、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的主要内容,如果未能解决你的问题,请参考以下文章

npm scripts 使用指南

Error: Python executable “H:devpython3.10python.EXE“ is v3.10.0, which is not supported by gyp.(代码片段

React-draggable npm 包可防止在输入字段内单击

014 Mui

微信小程序代码片段

VSCode自定义代码片段——CSS选择器