当前位置: 首页 > 编程日记 > 正文

如何发布自己的NPM包(模块)?

1.注册NPM 账号

注册地址:https://www.npmjs.com/。

2.初始化自己要发布的项目

搭建本地环境:安装node.js,包含了npm命令。
新建目录,在该目录下,初始化项目:npm init。
按照提示填写初始化信息,我的模块名称为:finitxu-npm-test,初始版本号:v1.0.0
模块名称需遵循相关政策要求:https://www.npmjs.com/policies,不能够与已有NPM模块名冲突等等。
模块代码 index.js:

function npmDemo(argument) {var name = 'finit';var f1 =function f(arg){console.log(arg)}return {name:name,f1:f1}}
module.exports=npmDemo();

3.登录npm,发布自己的npm包。

npm login

根据提示输入之前注册的账号、密码。
发布npm包:

npm publish

此时在自己个人的npm账号主页可以看到该包。

4.使用自己发布的包(模块)的示例代码:

安装之前发布的npm包:

npm install finitxu-npm-test

新建其它目录,初始化:npm init
使用已发布NPM包的示例代码test.js:

var test_npm = require('finitxu-npm-test');
console.log(test_npm)
console.log(test_npm.f1(11));
console.log(test_npm.name)

运行示例代码:node test.js

输出:

{ name: 'finit', f1: [Function: f] }
11
undefined
finit

5.更新自己的NPM包(模块)及readme.md

修改代码和readme.md后,执行命令:

npm version patch
npm publish

npm version后面参数说明:
patch:小变动,比如修复bug等,版本号变动 v1.0.0->v1.0.1
minor:增加新功能,不影响现有功能,版本号变动 v1.0.0->v1.1.0
major:破坏模块对向后的兼容性,版本号变动 v1.0.0->v2.0.0

6.使用更新后的NPM包

更新NPM包:

针对patch: npm install finitxu-npm-test
针对minor: npm install finitxu-npm-test
针对major: npm install finitxu-npm-test@2.0.0

其它内容与步骤4相同。


微信公众号(技术很有趣),了解一下~

这里写图片描述

相关文章:

PHP对于浮点型的数据需要用不同的方法去解决

Php: BCMathbc是Binary Calculator的缩写。bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale没有提供,就用bcscale的缺省值。这里大数直接用一个…

mysql提示符详解_MySQL字符集使用详解

查看字符集相关变量mysql> show variables like character%;————————–——————————-| Variable_name | Value |————————–——————————-| character_set_client | latin1 || character_set_connection | latin1 || character_set_database…

Apache漏洞修复

今天受同事的委托,修复一台服务器的Apache漏洞,主要集中在以下几点: 1.Apache httpd remote denial of service(中危) 修复建议:将Apache HTTP Sever升级到2.2.20或更高版本。 解决方法:升级HTT…

Java遍历Map对象的四种方式

关于java中遍历map具体哪四种方式&#xff0c;请看下文详解吧。 方式一 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。 1 2 3 4 Map<Integer, Integer> map new HashMap<Integer, Integer>(); for (Map.Entry<Integer, Intege…

Tokyo Cabinet 安装

tokyocabinet :一个key-value的DBM数据库&#xff0c;但是没有提供网络接口&#xff0c;以下称TC。 tokyotyrant :是为TC写的网络接口&#xff0c;他支持memcache协议&#xff0c;也可以通过HTTP操作&#xff0c;以下称TT。 Tokyo Cabinet 是一款 DBM 数据库&#xff0c;Tokyo …

Packagist / Composer 中国全量镜像

Packagist 镜像 请各位使用本镜像的同学注意&#xff1a; 本镜像已经依照 composer 官方的数据源安全策略完全升级并支持 https 协议&#xff01;请各位同学 按照下面所示的两个方法将 http://packagist.phpcomposer.com 修改为 https://packagist.phpcomposer.com 还没安装 co…

centos yum mysql-devel 5.5_CentOS 6.5下yum安装 MySQL-5.5全过程图文教程

在linux安装mysql是一个困难的事情&#xff0c;yum安装一般是安装的mysql5.1&#xff0c;现在经过自己不懈努力终于能用yum安装mysql5.5了。下面通过两种方法给大家介绍CentOS 6.5下yum安装 MySQL-5.5全过程&#xff0c;一起学习吧。方法一&#xff1a;具体方法和步骤如下所示&…

py 的 第 31 天

1.osi 7层模型 5层&#xff1a; 应用层 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 4层&#xff1a; 应用层 应用层 表示层 会话层 传输层 网络层 物理层 数据链路层 物理层 注意&#xff1a;7层背会。 2.tcp的三次握手&…

mysql实训报告_mysql数据库技术》实验报告.doc

mysql数据库技术》实验报告MySQL数据库技术实验报告系 别班 级学 号姓 名地点地点机房课程名称MySQL数据库技术实验名称实验1 MySQL的使用实 验 过 程目的要求&#xff1a;(1)掌握MySQL服务器安装方法(2)掌握MySQL Administrator的基本使用方法(3)基本了解数据库及其对象实验准…

PHP中魔术方法的用法

PHP中魔术方法的用法 /** PHP把所有以__&#xff08;两个下划线&#xff09;开头的类方法当成魔术方法。所以你定义自己的类方法时&#xff0c;不要以 __为前缀。 * */// __toString、__set、__get__isset()、__unset() /*The __toString method allows a class to decide how …

“互联网+”的时代,易佳互联也随着时代步伐前进着

一谈到互联网&#xff0c;我想大家的心里都不陌生&#xff0c;咱们总理工作报告中提出&#xff0c;制定“互联网”行动计划&#xff0c;推动移动互联网、云计算、大数据、物联网等与现代制造业结合&#xff0c;促进电子商务、工业互联网和互联网金融健康发展&#xff0c;引导互…

PHP 获取数组最后一个值

<?PHP$array array(1,2,4,6,8);echo end($array);?> <?PHP$array array(1,2,4,6,8);echo array_pop($array);?> <?PHP$array array(1,2,4,6,8);$k array_slice($array,-1,1);print_r($k); //结果是一维数组?>

解决nginx 502 bad gateway--团队的力量

nginx 502 bad gateway可以采取客户端强制刷新的方法&#xff0c;但是真正的解决要么改配置或者放CDN上。遇到这个问题&#xff0c;首先是有人发现可以加index.html访问&#xff0c;因为我们是线上网站&#xff0c;没有太多时间去研究&#xff0c;所以先临时这样&#xff1b;然…

MYSQL企业常用架构与调优经验分享

小道消息&#xff1a;2016爱维Linux高薪实战运维提高班全新登场,课程大纲&#xff1a;http://www.iivey.com/666-2一、选择Percona Server、MariaDB还是MYSQL1、Mysql三种存储引擎MySQL提供了两种存储引擎&#xff1a;MyISAM和 InnoDB&#xff0c;MySQL4和5使用默认的MyISAM存储…

mysql 5.x 安装_mysql 5.5.x zip直接解压版安装方法

到官网下载mysql-5.5.10-win32.zip&#xff0c;然后将mysql解压到任意路径&#xff0c;如&#xff1a;C:\mysql-5.5.10-win32打开计算机->属性->高级系统设置->环境变量&#xff0c;新建一个环境变量&#xff0c;变量名为&#xff1a;MYSQL_HOME&#xff0c;变量值为你…

阿里云移动数据分析服务使用教程

阿里云大学课程&#xff1a;阿里云移动数据分析服务使用教程课程介绍&#xff1a;移动数据分析 (Mobile Analytics) 是阿里云推出的一款移动App数据统计分析产品&#xff0c;为开发者提供一站式数据化运营服务&#xff1a;通用的多维度用户行为分析、数据开放并支持自定义分析、…

Apache的服务端包含--SSI

SSI定义&#xff1a; SSI&#xff08;服务器端包含&#xff09;提供了一种对现有HTML文档增加动态内容的方法。 作用&#xff1a; 一般出于效率的考虑&#xff0c;网站都会把内容尽可能的静态化成HTML文件&#xff0c;但是网站页面的布局往往比较复杂&#xff0c;各个部分的更新…

mysql校对规则_MySQL中的校对规则

详解MySQL中的校对规则Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 7Server version: 5.6.14 MySQL Community Server (GPL)Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.Oracle is a registered…

c#操作oracle的通用类

using System;using System.Collections;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text;using DDTek.Oracle;using System.Configuration;namespace Common{ <summary> /// OracleHelper 的摘要说明。 /// </summary> …

react es6+ 代码优化之路-1

这里集合了一些代码优化的小技巧 在初步接触 es6 和 react 的时候总结的一些让代码跟加简化和可读性更高的写法大部分知识点是自己在平时项目中还不知道总结的&#xff0c;一致的很多优化的点没有写出来&#xff0c;逐步增加中,目的是使用最少的代码&#xff0c;高效的解决问题…

反向ajax实现

英文原文&#xff1a; Reverse Ajax, Part 1: Introduction to Comet在过去的几年中&#xff0c;web开发已经发生了很大的变化。现如今&#xff0c;我们期望的是能够通过web快速、动态地访问应用。在这一新的文章系列中&#xff0c;我们学习如何使用反向Ajax&#xff08;Revers…

ef关联多实体查询_Mybatis基本知识十二:关联关系查询之延迟加载:侵入式延迟加载...

上一篇文章&#xff1a;《Mybatis基本知识十一&#xff1a;关联关系查询之延迟加载策略&#xff1a;直接加载》若文中有纰漏,请多多指正&#xff01;&#xff01;&#xff01;1.前言延续上一章节&#xff0c;本章节主要讲解和演示在关联关系查询中侵入式延迟加载是怎么回事。与…

Java高危漏洞被再度利用 可攻击最新版本服务器

2019独角兽企业重金招聘Python工程师标准>>> 安全研究人员警告称&#xff0c;甲骨文在2013年发布的一个关键 Java 漏洞更新是无效的&#xff0c;黑客可以轻松绕过。这使得此Java高危漏洞可以被再度利用&#xff0c;击运行最新版本 Java 的个人计算机及服务器。甲骨文…

不断演进的 Chrome 安全标识

文 / Chrome Security 产品经理 Emily Schechter 此前&#xff0c;我们曾发布一项提议&#xff0c;建议将所有 HTTP 网页标记为确定 “不安全” 并移除 HTTPS 网页的安全标识。自从我们在 Chrome 中引入安全标识以来&#xff0c;网络上的 HTTPS 使用量迅速增加。今年晚些时候&a…

gcc -E 选项

-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面.例子用法:gcc -E hello.c > pianoapan.txtgcc -E hello.c | more慢慢看吧,一个hello word 也要与处理成800行的代码 -E选项&#xff0c;表示让gcc只进行“预处理”就行了。 所谓的预处理&#xff0c;就是…

剑指offer青蛙跳台阶问题

&#xff08;1&#xff09;一只青蛙一次可以跳上 1 级台阶&#xff0c;也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。//递归方式 public static int f(int n) { //参数合法性验证 if (n < 1) { System.out.println("参数必须大于1&#xff01;&quo…

mysql 亿级表count_码云社 | 砺锋科技-MySQL的count(*)的优化,获取千万级数据表的总行数 - 用代码改变世界...

专注于Java领域优质技术号&#xff0c;欢迎关注作者&#xff1a;李长念一、前言这个问题是今天朋友提出来的&#xff0c;关于查询一个1200w的数据表的总行数&#xff0c;用count(*)的速度一直提不上去。找了很多优化方案&#xff0c;最后另辟蹊径&#xff0c;选择了用explain来…

使用mysql内连接查询年龄_Mysql的连表查询

若一个查询同时涉及到两个以上的表&#xff0c;称为连表查询准备表create table department(id int auto_increment PRIMARY KEY,name varchar(20));departmentcreate table employee(id int primary key auto_increment,name varchar(20),sex enum(male,female) not null defa…

FastDFS安装与使用

安装注意要修改&#xff1a;/etc/fdfs/client.confvim /etc/fdfs/client.confbase_path/home/yuqing/fastdfs 修改为&#xff1a; base_path/home/fastdfstracker_server192.168.209.121:22122 修改为&#xff1a; tracker_server10.201.20.237:22122##include http.conf 修改…

angular组合preact

preact 大小3kb&#xff0c;可以当做angular的一个dom库&#xff0c;而且可以对接使用preact生态系统&#xff0c;react组件修改成preact还是蛮简单的&#xff0c;这样就可以解决angular中用render2操作dom的繁琐问题了!O(∩_∩)O哈哈~&#xff0c;异想天开&#xff0c;动工! t…