发布一个简单的npm包

发布一个简单的npm包

本文简单地记录了发布一个简单npm包的过程,以便后续参考使用。

初始化npm init

通过npm init创建一个package.json文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
D:\robin\lib\weapp-utils>npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (weapp-utils)
version: (1.0.0)
description: some foundmental utils for weapp
entry point: (lib/index.js)
test command:
git repository:
keywords: weapp,utils
author: tusi666
license: (ISC) MIT
About to write to D:\robin\lib\weapp-utils\package.json:

{
"name": "weapp-utils",
"version": "1.0.0",
"description": "some foundmental utils for weapp",
"main": "lib/index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"weapp",
"utils"
],
"author": "tusi666",
"license": "MIT"
}

其中main字段是入口文件

写好README

一个完备的README文件是必要的,以便别人了解你的包是做什么用途。

确认registry

一般我们开发时会修改npm registryhttps://registry.npm.taobao.org

但是发布npm包时,我们需要将其改回来,不然是会报错的。

1
npm config set registry http://registry.npmjs.org/

npm注册账号

打开npm官网,开始注册账号。

ps:记得要验证邮箱哦!

添加npm账户

使用npm adduser添加账户,别名npm login

1
2
3
4
5
D:\robin\lib\weapp-utils>npm adduser
Username: tusi666
Password:
Email: (this IS public) cumtrobin@163.com
Logged in as tusi666 on https://registry.npm.taobao.org/.

添加github仓库

package.json添加配置项,不加也没事,看自己需求。

1
2
3
4
"repository": {
"type": "git",
"url": "https://github.com/xxx/zqh_test2.git"
}

发布

1
npm publish

如果发布时报这样的错,

1
2
3
The operation was rejected by your operating system.
npm ERR! It's possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.

建议还是检查下registry,或者npm adduser是不是成功了。

发布成功,会有这样的提示,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
npm notice
npm notice package: weapp-utils@1.0.0
npm notice === Tarball Contents ===
npm notice 397B package.json
npm notice 1.1kB LICENSE
npm notice 2.7kB README.md
npm notice 12.9kB lib/index.js
npm notice === Tarball Details ===
npm notice name: weapp-utils
npm notice version: 1.0.0
npm notice package size: 5.1 kB
npm notice unpacked size: 17.1 kB
npm notice shasum: a7f2f428d9334dd1dd749d2a492dbc4df7195d0d
npm notice integrity: sha512-Cp8jPhOMq73y6[...]bfofe7X+4cLeg==
npm notice total files: 4
npm notice
+ weapp-utils@1.0.0

npm搜索weapp-utils,发现有了!

npm查询到所发布的包

调用

发布成功了,也要验证下,是否可正常使用。

1
2
3
import { merge } from "weapp-utils"

let mergedOptions = merge(DEFAULT_OPTIONS, options)

扫一扫下方小程序码或搜索Tusi博客,即刻阅读最新文章!

Tusi博客

You forgot to set the qrcode for Alipay. Please set it in _config.yml.
You forgot to set the qrcode for Wechat. Please set it in _config.yml.
You forgot to set the business and currency_code for Paypal. Please set it in _config.yml.
You forgot to set the url Patreon. Please set it in _config.yml.
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×