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

初始化npm init

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

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包时,我们需要将其改回来,不然是会报错的。

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

npm注册账号

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

ps:记得要验证邮箱哦!

添加npm账户

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

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添加配置项,不加也没事,看自己需求。

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

发布

npm publish

如果发布时报这样的错,

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是不是成功了。

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

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,发现有了!

调用

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

import { merge } from "weapp-utils"

let mergedOptions = merge(DEFAULT_OPTIONS, options)

首发链接


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

发布一个简单的npm包的更多相关文章

  1. 开发一个健壮的npm包

    项目地址:loan-calculate-utils npm包的发布.更新查看上一篇文章 开发一个基础的npm包 目前我们的目录是这个样子: . ├── source 源代码目录 │   └── ind ...

  2. 开发一个基础的npm包

    初始化项目 # 新建文件夹 mkdir whosmeya-npm-package-test # 进入 cd whosmeya-npm-package-test/ # 初始化 package.json, ...

  3. 实例学习SSIS(一)--制作一个简单的ETL包

    原文:实例学习SSIS(一)--制作一个简单的ETL包 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SS ...

  4. Java发布一个简单 webservice应用 并发送SOAP请求

    一.创建并发布一个简单的webservice应用 1.webservice 代码: package com.ls.demo; import javax.jws.WebMethod; import ja ...

  5. 利用VS2008发布一个简单的webservice

    一个开发好的webservice,怎样发布出去,供其他电脑访问呢? 本文将介绍如何发布一个简单的webservice,其中的内容都是在网上查看别人文章,自己仿照着做了一遍,因此,难免会发生错误,如果发 ...

  6. 如何开发一个自己的npm包

    目录 一.初始化npm包 二.新建自己的工具类 三.新建入口文件index.js 四.编写单元测试 五.登录仓库 六.发布包 七.安装使用 八.删除包 一.初始化npm包 npm init 运行输入包 ...

  7. 如何自己写一个公用的NPM包

    以markdown-clear,创建过程为例,讲解整个NPM包创建和发布流程 1 如何创建一个包 1.1 创建并使用一个工程 在GitHub上新建一个仓库,其名markdown-clear clone ...

  8. npkill 一个方便的npm 包清理工具

    npm 包很好用,但是占用空间太多了,npkill 提供了一个方便的工具,可以帮助我们查找安装的npm 包,以及进行清理 安装 npm install -g npkill 简单使用 命令 npkill ...

  9. composer 发布一个自己的扩展包

    练习写了一个扩展包,步骤参考github项目的readme.md 文件.https://github.com/codingmonkey9/test 说明:只是自己简单记录一下,没有详细写. 如何发布具 ...

随机推荐

  1. 《Java基础知识》Java方法重载和重写

    重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类 ...

  2. 第01讲 Android开发系列---Activity

    一.  Android系统版本及详细信息 最新数据  https://developer.android.com/about/dashboards/ 二.  Android项目初探 1.    使用a ...

  3. Android 自定义吐司通知

    protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentV ...

  4. 2018 经典的CVPR 关于ImageCaptioning论文

    1.        SemStyle: Learning to Generate Stylised Image Captions using Unaligned Text(2018 CVPR) 主要研 ...

  5. Jenkins之自动部署、代码安全扫描、自动化接口测试

    搭建Jenkins wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reporpm --i ...

  6. Java8新特性之接口defualt,static方法

    简介 作用 Java8中接口引入了defualt,static两种方法提供默认实现,彻底打破了接口不能有默认实现的规定 static 让接口类似于工具类,提供一些静态方法 static方法不会被子类继 ...

  7. linux查看磁盘及文件夹大小命令

    https://www.runoob.com/w3cnote/linux-view-disk-space.html 1.使用lsof查看已删除但未释放的文件 lsof -n | grep delete ...

  8. MySQL去重保留最大的那条记录(取最新的记录)

    以用户登录日志表为例,取用户最近登录的设备 1 SET NAMES utf8mb4; 2 ; 3 4 -- ---------------------------- 5 -- Table struct ...

  9. C# 从字符串中提取指定字符类型的内容

    从一段字符串中,提取中文.英文.数字 中文字符30Margin中文字符40HorizontalAlignment 正则表达式: /// <summary> /// 英文字母与数字 /// ...

  10. python3 print() 函数带颜色输出 示例

    1.1 实现过程: 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关. 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就 ...