怎样创建,发布,升级你的npm,node模块

原文

node.js module(模块)是package的一种,能够发布到npm。从创建一个package.json文件开始来创建一个module。

使用npm init来创建一个package.json文件,命令行会问你一些字段的值,除了name和version两个外,你需要设置一个main的值,也可使用默认的index.js作为值。详情看第五章

创建完package.json之后,你需要创建一个文件,该文件在你的模块require时能够引入,这个文件的默认名字是index.js

剩下的你可以在该文件中按照commond.js的模式来写入你的代码。

发布模块module

你可以发布你那个带有package.json的目录作为npm的package(module)。

准备

了解npm的政策

开始之前你最好去了解下npm的政策,应对你在网站礼仪,命名,授权等方面的问题。

发布一个npm package其实需要两个基本的东西:

一、 带有pckage.json,符合npm package规范的package。

二、在npm网站上注册了账户,并且在本地的npm中登录到了npm。具体如下:

1. 创建或登录一个用户帐号

发布之前,你必须是一个npm库的用户。如果你不是那么创建一个帐号,通过本地的命令行使用npm adduser按照提示来创建。如果你已经是该网站的用户那么只需使用npm login来登录下你的帐号即可。

验证:

  1. 在命令行输入npm whoami来检查你是否已经登录(同时你的凭证也会存储到本地)
  2. 在浏览器输入https://npmjs.com/~username来验证你是否已经注册成功。

例如我的:

https://www.npmjs.com/~cdd

2.检查package目录

  1. 检查内容

文件夹中除了在.gitignore或者.npmignore中定义的文件外,其他所有的文件都将包含到package中。更多信息。

  1. 检查package.json文件

确保你想要的内容都已经包含在package.json文件中。设置详情。

  • 选一个名字

为你的package起一个名字,限制如下:

  • 还没有被别人拥有
  • 不是拼写像另一个名字,除了错别字
  • 不会混淆他人的作者身份
  • 符合npm政策准则。例如,请勿将您的软件包命名为冒犯性的,并且不要使用他人的商标名称。
  • 在package.json文件的相应行中指定名称。
  • 办一个说明文档(readme.md)

npm建议你在package中包含一个reade文件用来说明你的package。这个文件必须以readme.md命名。这个扩展名,表明这是一个markdown文件。当有人发现你的package时这个文件的内容将被显示到npm网站上(你的相应的package)。

开始之前最好参考一下别人是如何写这个文件的。

  1. 使用文本编辑器创建一个文件。
  2. 保存这个文件到项目的目录,命名为radme.md
  3. 当你发布时,这个文件的内容将被显示到该项目的相应网页。

发布

使用npm publish来发布你的package。

在浏览器输入https://npmjs.com/package/<package>你将看到你的这个新的package的信息。

怎样升级你的package

怎样升级版本号

当你对package做出修改后,你可以使用如下方法升级你的package:

npm version <update_type>

<update_type>是一个semver类型,表示patch ,minor,或者major。

这个命令将更改在项目中package.json中的version的值。

注意:如果你已经将一个标签与你的npm账户关联起来,那么这个标签还会添加一个带有更新版本号的标签到你的git仓库

更新版本号后,运行:

npm publish

该package在npm中的版本号也会更新。

怎样升级readme文件

显示在网站上的自述文件将不会更新,除非发布新版本的软件包,因此您需要运行npm version patch并npm publish更新网站上显示的文档。

node.js学习之npm 入门 —8.《怎样创建,发布,升级你的npm,node模块》相关推荐

  1. node.js学习总结:node.js的内置模块,模块化,npm与包 express,前后端身份认证 JWT认证机制

    node.js学习总结 什么是node.js node.js的内置模块 fs系统模块 path路径模块 http模块 模块化 npm与包 express express路由 express+mysql ...

  2. Node.js学习笔记——模块加载机制及npm指令详解

    文章目录 二.模块化 1.模块化的基本概念 2.Node.js 中的模块化 Node.js 中模块的分类 加载模块 Node.js 中的模块作用域 向外共享模块作用域中的成员 Node.js 中的模块 ...

  3. node.js学习随笔

    Node的文件和文件系统API位于fs模块中: var fs=require("fs")//加载文件系统API 同步读取文件,通过传递编码获得文本而非字节: var text = ...

  4. node.js学习总结

    NodeJS介绍 1.概述: Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎 进行了封装,它主要用于创建快速的.可扩展的网 ...

  5. 一个后端开发人员的node.js学习笔记(一)安装与第一个服务器

    2019独角兽企业重金招聘Python工程师标准>>> 1.Node.js的下载和安装 Node.js安装包及源码下载地址为:https://nodejs.org/en/downlo ...

  6. node.js学习笔记

    # node.js学习笔记标签(空格分隔): node.js---## 一 内置模块学习 ### 1. http 模块 ``` //1 导入http模块 const http =require('ht ...

  7. node.js学习-第二章节

    目录 前言 学习NodeJS的意义 01-nodejs搭建静态资源服务器 1.1-nodejs搭建静态资源服务器01 1.2-nodejs搭建静态资源服务器02 02-nodejs接收get请求与po ...

  8. node.js 学习笔记(二)模板引擎和C/S渲染

    node.js 学习笔记(二)模板引擎和C/S渲染 文章目录 node.js 学习笔记(二)模板引擎和C/S渲染 一.初步实现Apache功能 1.1 使用模板引擎 1.2 在 node 中使用模板引 ...

  9. 千锋Node.js学习笔记

    千锋Node.js学习笔记 文章目录 千锋Node.js学习笔记 写在前面 1. 认识Node.js 2. NVM 3. NPM 4. NRM 5. NPX 6. 模块/包与CommonJS 7. 常 ...

  10. node.js学习笔记Day1

    @343545 第一部分:先从node.js安装开始 安装包名称:node-v16.14.2-x64 然后直接点击直接进入安装程序即可 安装包可以自行去网上找. 第二部分:验证安装是否成功 打开cmd ...

最新文章

  1. 管理活动目录域服务实训_酒店管理专业开展酒店实训活动
  2. winform B窗體調用A窗體的DATAGRIDVIEW刷新
  3. 一个类的java代码_求一段java代码,定义一个类
  4. CommonJS模块的循环加载
  5. 利用 perl 调用 Java 类,通过读取文件 获取调用类返回值
  6. db_index,unique和primary区别
  7. 响应式下的雪碧图解决方案 - 活用background-size / background-position
  8. PhpStorm中如何使用Xdebug工具,入门级操作方法
  9. 64位win10安装不了64位java(点了安装没反应)
  10. 四个vue后台常用模板,你用过几个?
  11. 2018年终总结--修身篇
  12. 杂谈---一个项目经理的自我反省
  13. 解决Android Studio等开发软件出现更新TKK失败的两种方案
  14. stm8下载程序(使用ST-LINK下载器和STVP下载软件)
  15. DevExpress中实现给GridControl下的GridView表格修改指定行、列的背景颜色和获取选择行的信息
  16. 【Kotlin开发者社区文章集锦】66篇精选技术精华文章
  17. git 将自己的分支合到主分支
  18. 第五章 微服务网关Spring Cloud Gateway
  19. Django之爱鲜蜂项目开发 day02 (三)
  20. cf进不去服务器 正在连接,Win7电脑CF连接服务器失败如何解决 CF连接不到服务器怎么办...

热门文章

  1. 蓝桥杯 ADV-12 算法提高 计算时间
  2. [Java] 蓝桥杯ADV-185 算法提高 五次方数
  3. 蓝桥杯 ALGO-85 算法训练 进制转换
  4. 使用Genymotion Android模拟器无法连接电脑本机的服务器
  5. assetbundle能不能删除_Addressable卸载单个资源的疑问
  6. 透彻理解Java并发的等待队列——Condition
  7. NFS exports命令
  8. php访问url的四种方式
  9. Go语言栈定义及相关方法实现
  10. 关于 httpUrlConnection 的 setDoOutput 与 setDoInput的区别