三分钟,了解npm构建工具库流程
假如我写了一个好用的功能,我也想让其他人通过
npm install xxx
的方式安装,我该从哪里下手?
当我们打开我们项目的package.json
的时候发现,其中会有dependencies
和devDependencies
属性,这就是我们打包依赖和开发依赖的模块。是不是有种感觉,一个项目有一个package.json
文件,有多个模块,有种无形的力量把优秀的第三方依赖聚集在一起,共同完成了这个项目。
这里就是通过npm
和一个个的包
来将多个第三方模块联系在了一起,npm
就是一个包管理器。
一、包
包,是被npm
管理的。
1、包结构
package.json
文件:包描述文件bin
:用于存放可执行二进制文件的目录lib
:用于存放JavaScript
代码的地方doc
:用于存放文档的目录test
:用于存放单元测试用例的代码
2、包描述文件
npm
所有的行为都与包描述文件的的字段息息相关。
最常用的属性有name
、version
、description
、author
、private
、scripts
、dependencies
、devDependencies
、engines
和browserslist
等。
二、npm
npm
,是用来管理包的。
借助npm
,node
可以和第三方依赖和模块进行很好的结合。
我们先看npm
都有哪些操作。
1、查看帮助
npm help
2、安装依赖:
npm install xxxx
,一般执行命令后会在当前目录下创建node_modules
目录,然后在node_modules
目录下创建xxx
文件夹,接着将包解压到这个目录下。但是由会根据安装的位置划分为:
- 全局模式安装:
npm install xxx -g
- 从本地安装:
npm install <package.json所在的目录路径>
- 从非官方渠道安装:
npm install xxx --registry=http://***
3、卸载依赖
npm uninstall xxx
三、发布自己的包
以上简单介绍了npm
和包
的关系,下面就自己手动写个包,发布到仓库。
1、编写模块
首先在index.js
文件中编写功能
// index.js
exports.add = function (a, b) {
return a + b;
}
再通过npm init
的方式在统计目录下按照提示输入信息,生成package.json
文件。
{
"name": "qb-tools",
"version": "1.0.0",
"description": "this is a methods libray",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "qb",
"license": "ISC"
}
现在有了配备了package.json
文件的包,开始把本地的包发布到第三方仓库npm
中。
首先得有一个账号。
2、注册账号
浏览器输入:npm (npmjs.com),找到sing in
按钮按照提示操作即可。
然后在本地添加账号,让本地和远程建立连接。
3、本地添加账号
npm adduser
。
然后根据提示输入账号、密码和邮箱即可。
现在就可以发布我们自己的包到第三方仓库npm
中了。
4、发布包
npm publish
。
发布结果如下所示。
npm notice
npm notice 📦 qb-tools@1.0.0
npm notice === Tarball Contents ===
npm notice 53B index.js
npm notice 230B package.json
npm notice === Tarball Details ===
npm notice name: qb-tools
npm notice version: 1.0.0
npm notice filename: qb-tools-1.0.0.tgz
npm notice package size: 323 B
npm notice unpacked size: 283 B
npm notice shasum: *********************************
npm noice integrity: *********************************
npm notice total files: 2
npm notice
npm notice Publishing to https://registry.npmjs.org/
+ qb-tools@1.0.0
到这里,我们就已经把我们本地的包发布到npm
中了。可以打开自己的npm
看看结果:
5、安装包
你现在就可以在自己的项目中通过npm install qb-tools
的方式下载我的工具包了。执行结果为:
6、分析包
当我们不确定是否安装成功时,可以通过执行npm ls
的方式查找包:执行结果为
project@1.0.0 E:\learn\npm\project
└── qb-tools@1.0.0
至此,我们就介绍了在npm
上发布一个包的全流程。
转载自:https://juejin.cn/post/7187791824440787002