node.js学习之npm——6.《如何创建node模块、如何发布、更新package》

创建node.js模块

  • Node.js 模块是一种可以发布到 npm 的包。当你创建一个新模块时,创建 package.json 文件是第一步。
  • 你可以使用 npm init 命令创建 package.json 文件。命令行中将会提示 package.json 字段中需要你输入的值。名称(name) 和 版本(version) 这两个字段是必填的。你还需要输入 入口文件字段(main) 字段,当然,可以使用默认值 index.js。
  • 创建 package.json 文件之后,还需要创建模块的入口文件。如果使用默认值,文件名是 index.js。
    在此文件中,添加一个函数,作为 exports对象的一个属性。这样,require 此文件之后,这个函数在其他代码中就可以使用了。
    eg:
exports.printMsg = function() {
  console.log("This is a message from the demo package");
}

按照以下步骤试试:

  • 将你的包发布到 npm。
  • 在你的项目外新建一个目录。
  • 然后 cd 进入这个新目录。
  • 执行 npm install <package> 命令。
  • 创建一个 test.js 文件,require 这个包,并调用其中的方法。
  • 执行 node test.js 命令。是否输出 console.log 中填写的信息。

发布

你可以发布任何带有package.json目录的文件。下文解释了如何第一次发布包裹,以及如何在以后更新它。

准备

了解npm政策
在你开始之前,回顾一下npm的政策是一个好主意,以防你对网站礼仪、命名、许可或其他指导方针有疑问。

创建一个用户账号
要发布,您必须是npm注册中心的用户。如果您不是用户,则使用npm adduser创建一个帐户。如果您在站点上创建了一个用户帐户,请使用npm登录从您的终端访问您的帐户。
测试:
1.从终端输入npm who am i,看看您是否已经登录了(技术上,这也意味着您的凭证已经存储在本地)
2.在浏览器输入https://npmjs.com/~username来验证你是否已经注册成功。
eg:我的:https://npmjs.com/~margery

检查package目录
1.检查内容
注意,目录中的所有内容都将被包括在内,除非它被本地的gitignore或.npmignore文件忽略。要学习如何使用这些命令,请参见npm开发
检查你的package.json文件
确保你想要的内容都已经包含在package.json文件中。
选择一个名字
为您的包选择一个唯一的名称。试着选择一个描述性的名字。

  • 不是别人拥有的
  • 写不像另一个名字,除了拼写错误
  • 不会混淆其他人的作者身份
  • 满足npm政策指导方针。例如,不要把你的包裹命名为无礼的东西,不要使用别人的商标名。
  • 在包的适当行中指定名称package.json文件。
    包含一个说明性文档(readme.md)
    npm建议您包含一个read.me文件来记录您的包。readme文件必须有文件名readme.md文件扩展。md表示文件是一个markdown文件。当有人发现你的包裹时,这个文件会出现在npm网站上。
    在您开始之前,请查看一些软件包页面,以获得您可以添加到自述文件中的信息的想法,并了解为什么这是如此重要。
  • 使用文本编辑器创建一个文件。
  • 保存这个文件到项目的目录,命名为radme.md。
  • 当你发布时,这个文件的内容将被显示到该项目的相应网页。

发布

使用 npm publish 来发布你的package
去浏览器中输入https://npmjs.com/package/<package> 你将看到一个包含所有packagede 信息。

yargs-example-readme.png

如何更新你的package

如何更新你的版本号

当您进行更改时,您可以使用
npm version <update_type>
其中<update_type>一个semver类型,表示patch ,minor,或者major。
此命令将更改package.json中的版本号。
注意:如果你把一个标签连接到你的npm帐户,它还会在你的git仓库中添加一个标签。
更新版本号之后,运行npm publish再次发布。
测试:https://npmjs.com/package/<package> 里面的包版本应该更新。

如何更新readme文件

除非您的包的新版本发布,否则站点上显示的README将不会被更新,因此您需要运行npm版本补丁和npm发布来更新站点上显示的文档。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容