npm包开发(whale-makelink)
whale-makelink是一个npm工具,是强业务的工具,可以将当前工程目录下的项目文件夹,在README中生成项目的链接地址。Demo。
一、npm init
使用npm init生成package.json
{
  "name": "whale-makelink",
  "version": "1.0.5",
  "description": "Make-link can get all the project folders of the current directory, and generate the project link directory in the readme.",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git@github.com:jingwhale/whale-makelink.git"
  },
  "keywords": [
    "makelink"
  ],
  "author": "jingwhale@yeah.net",
  "license": "ISC"
}
二、自定义命令
2.1、在package.json的bin下定义一个对象,这里makelink就是需要的命令,内容交给index.js
{
  "name": "whale-makelink",
  "version": "1.0.5",
  "description": "Make-link can get all the project folders of the current directory, and generate the project link directory in the readme.",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git@github.com:jingwhale/whale-makelink.git"
  },
  "bin": {
    "makelink": "./index.js"
  },
  "keywords": [
    "makelink"
  ],
  "author": "jingwhale@yeah.net",
  "license": "ISC"
}
2.2、在index.js中添加'#!/usr/bin/env node'
#!/usr/bin/env node
const path = require('path');
const makelink = require('./makelink');
const pathName = path.resolve(__dirname, '../..');
const srcFile = pathName + '/README.md';
makelink(srcFile,pathName);
三、发布npm包
3.1、注册
npm官网注册,并且通过邮件验证后,才能发npm包。
3.2、登录
npm login
输入用户名、密码和邮箱。
3.3、发布
npm publish
3.4、版本更新
1)、变更版本号-自动改变版本
npm version <update_type>
update_type为patch, minor, or major其中之一,分别表示补丁,小改,大改
若是patch,变为1.0.1
若是minor,变为1.1.0
若是major,变为2.0.0
2)、发布
npm publish
3.5、发布出错
1)、验证邮箱
2)、修正npm源
npm config get registry
npm config set registry=http://registry.npmjs.org
四、更新package.json
更新package.json后,需要先提交到github,再进行版本的升级。
创建

readme中使用

策略
每次代码更新完毕,在进行版本的升级操作。

npm包开发(whale-makelink)的更多相关文章
- npm包开发与发布
		把通用的功能开发成npm包,便用使用和维护,更重要的是可以分享给广大的开发者,是不是很激动人心! 那么,步骤如下: 1.创建项目 创建项目目录,npm init ,根据需要输入配置信息(建完后也可以在 ... 
- 记npm包开发全过程
		概述 为什么开发npm包? 如何开发? 如何写单元测试? package.json 如何发布模块? 如何使用? 为什么开发npm模块? NPM的全称是Node Package Manager,是一个N ... 
- 如何开发一个npm包并发布
		一.安装nodejs 不多说了,网上教程多得是 二.创建自己的npm包 目录结构 npm-test a.js b.js package.json 开发 为了简单便于理解,就开发一个简单地hello程序 ... 
- VS Code项目中通过npm包的方式共享代码片段的方案实现
		VS Code项目中通过npm包的方式共享代码片段的方案实现 上周在 "VS Code项目中共享自定义的代码片段方案" 的文章中提到过一个共享代码片段的方案,上周经过调研后并没有发 ... 
- 在2018年如何优雅的开发一个typescript语言的npm包?
		欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由小明plus发表 很多时候,我们可能想要用 typescript 语言来创建一些模块,并提交到 npm 供别人使用, 那么在 2018 ... 
- 从零系列--开发npm包(一)
		一.目的 主要是纪录和回顾自己开发的一些步骤以及遇到的一些问题和解决方案 二.准备工作 1.IDE 选择 VS Code 2.安装node 环境 (https://nodejs.org/zh-cn/) ... 
- 如何开发一个npm包并发布到npm中央仓库
		转自: https://liaolongdong.com/2019/01/24/publish-public-npm.html 如何开发一个npm包并发布到npm中央仓库需求背景:平时在项目工作中可能 ... 
- 快速开发一个npm包(轮子)
		动机 很多人都想写一个自己的轮子,可是开始动手的时候你总会遇到以下问题 一个基本的 js 库应该如何编写 基本的前端项目都要哪些文件 又要怎么打包发布到 npm 上 你的 es6 语法如何才能让别人识 ... 
- 开发一个健壮的npm包
		项目地址:loan-calculate-utils npm包的发布.更新查看上一篇文章 开发一个基础的npm包 目前我们的目录是这个样子: . ├── source 源代码目录 │ └── ind ... 
随机推荐
- CentOS7修改默认启动级别
			如上个随笔所言,Linux分为7个启动级别: 0 - 系统停机状态 1 - 单用户工作状态 2 - 多用户状态(没有NFS) 3 - 多用户状态(有NFS) 4 - 系统未使用,留给用户 5 - 图形 ... 
- CSS hack兼容表
			IE6 IE7 IE8 Firefox Opera Safari !important Y Y Y Y Y _ Y * Y Y *+ Y \9 Y Y Y \0 Y nth-of-type(1) Y ... 
- angular监听dom渲染完成,判断ng-repeat循环完成
			一.前言 最近做了一个图片懒加载的小插件,功能需要dom渲染完成后,好获取那些需要懒加载的dom元素.那么问题来了,如果只是感知静态的dom用ready,onload都可以,但项目用的angular, ... 
- python 浅析模块,包及其相关用法
			今天买了一本关于模块的书,说实话,模块真的太多了,小编许多也不知道,要是把模块全讲完,可能得出本书了,所以小编在自己有限的能力范围内在这里浅析一下自己的见解,同时讲讲几个常用的模块. 这里是2018. ... 
- 大话DI依赖注入+IOC控制反转(一) 之 定义
			转发时请注明原创作者及地址,否则追究责任.原创:alunchen 依赖注入与控制反转 依赖注入与控制反转是老生常谈的问题.一般面试也会面试到这种问题.网上很多很多这方面的资料,搜索出来一大堆 ... 
- Spring中四种实例化bean的方式
			本文主要介绍四种实例化bean的方式(注入方式) 或者叫依赖对象实例化的四种方式.上面的程序,创建bean 对象,用的是什么方法 ,用的是构造函数的方式 (Spring 可以在构造函数私有化的情况下把 ... 
- Ajax提交用FormData()上传文件
			1.form声明如下 2.ajax设置如下 var formData = new FormData(document.getElementById("form")); $.ajax ... 
- 【开发工具之eclipse】8、The word is not correctly spelled。强迫症看着很难受
			eclipse出现了极其让我郁闷的错误,"The word is not correctly spelled" 我讨教过一些朋友以后,还是没有得到答案,我就纳闷了.然后我继续将代码 ... 
- 微信小程序开发BUG经验总结
			摘要: 常见的微信小程序BUG! 小程序开发越来越热,开发中遇到各种各样的bug,在此总结了一些比较容易掉进去的坑分享给大家. 1. new Date跨平台兼容性问题 在Andriod使用new Da ... 
- 使用CSS如何解决inline-block元素的空白间距
			早上在博客中有人提了这样一个问题:“li元素inline-block横向排列,出现了未知间隙”,我相信大家在写页面的时候都遇到过这样的情况吧. 我一般遇到这情况都会把li浮动起来,这样就没有间隙.但是 ... 
