咱们闲话不多说,直接开始!

由于我从没有使用过MAC,所以我不保证本文中介绍的操作与MAC一致。

文章开始我先假定各位已经在window全局安装了Node.js,下面开始进行详细步骤介绍:

本文本着,以极少的文字说明以及极少的代码书写为原则来给大家演示!

文章中上传的模块不具备任何意义!

一、封装node.js模块时的必需项

1.创建package.json

每一个完整封装的node模块,必须含有一个参数明确的package.json文件!

以下为package.json的最精简配置:

{   
"name": "npmdesc",
"version": "0.0.1",
"main": "npmdesc.js"
}

package.json详细配置参照表:

2.创建npmdesc.js

exports.desc = function() {
console.log("如何发布一个自定义Node.js模块到NPM");
}

3.创建README.md文件,文件内容可以留白(该文件的作用是放置你愿意写的任何自述说明)

二、在github上建立包含该模块代码的公共存储库

1.注册github账户(这里不做详细阐述,假定你已经有了github账户)

2.创建项目

3.如果你初次使用git,请自行了解git的使用方法(这里仅做简单描述)

这里推荐查看廖雪峰老师对git的讲解:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

1.ssh-keygen -t rsa -C "你注册所使用的邮箱"
2.登陆GitHub,打开“Account settings”,“SSH Keys”页面点“Add SSH Key”,填上ssh,在Key文本框里粘贴id_rsa.pub文件的内容。 以上步骤是使你的账户与git建立通讯的核心步骤!
仅用这些操作远远不够,如果你初次使用git,那么这一步可能将会使你看的云里雾里摸不清头脑,甚至失去继续了解下文的信心,所以我建议初学者先进行git的简单了解。

4.推送项目到刚刚创建的公共存储库(这里假定你已完成以上所有内容,并对git的使用有了简单的认识)

在你的项目根目录中依次运行以下git命令:

1.git init
2.git add npmdesc.js
git add package.json
git add README.md
3.git remote add origin git@github.com:BGOnline-CN/npmdesc.git
4.git commit -m "如何发布一个自定义Node.js模块到NPM"
5.git pull --rebase origin master
6.git push -u origin master

以上步骤的作用(这里的截图仅做辅助理解,截图内容并不完善,具体执行步骤需参考第4步):

git init (初始化本地git库)

git add (暂存文件)

git remote add origin git@github.com:XXXX/XXXX.git (使本地与远程库进行连接)

git commit -m "XXXX" (提交暂存到本地库,-m 为你的提交信息,这个是必填的!你需要告诉git你为什么要进行本次提交。)

git pull --rebase origin master (拉取远程库中的内容)

git push -u origin master (将本地项目推送到远程库)

5.修改package.json文件,填入你的项目在git公共存储库中的信息及你希望npm进行搜索时的关键字

{
"name": "npmdesc",
"version": "0.0.1",
"main": "npmdesc.js",
"repository": {
"type": "git",
"url": "https://github.com/BGOnline-CN/npmdesc"
},
"keywords": [
"npmdesc"
]
}

三、生成模块

1.在你的项目根目录打开控制台窗口键入命令

npm pack

此时npm会将你的项目打包为一个后缀名为.tgz的压缩包,这就是你的Node.js模块

2.别忘了将修改后的package.json及刚刚打包好的.tgz推送到git哦~这里我就不介绍了。

可能在进行git操作时或多或少的会出现一些你暂时无法理解的问题。如果刚好这时你遇到了,请不要害怕,细致的摸索及强大的搜索引擎可以帮助你!任何人都是这样摸爬滚打过来的。

当然不排除我的文章有疏漏 - -

四、发布到npm

1.在https://npmjs.org网站中建立账户(这里不做介绍)

2.在命令行中使用以下命令把创建的账户添加到环境中:

npm adduser

回车之后将会提示你输入用户名和密码以及邮箱,这里密码将不会明文显示。

出现下图说明命令执行成功!

3.发布模块到npm

在项目根目录执行以下命令:

npm publish

如果出现以上错误,使用如下命令即可解决

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

执行该命令后需要重新进行登录,使用第2步中的命令即可

五、发布成功

如果一切正常,将会出现下图:

到这里你的 Node.js模块就已经发布成功了,你可以试试在npm官网中搜索它,并在项目中使用它了

最新文章

  1. 初识virtual memory
  2. [Linux] linux下安装配置 zookeeper/redis/solr/tomcat/IK分词器 详细实例.
  3. Codeforces Round #210 (Div. 2) C. Levko and Array Recovery
  4. iOS __block类型变量作用域
  5. ios开发——实用技术篇&数据保存于恢复
  6. 关于Git补丁文件交互
  7. flex dispatchEvent 实例
  8. swift小结02-基础篇
  9. 芝麻HTTP:python version 2. required,which was not found in the registry 解决方案
  10. JAVA_SE基础——13.选择结构语句
  11. 识别拖动与点击操作之zepto的bug
  12. UITableView加载数据,没有数据,没有网络界面处理
  13. lucene创建索引的几种方式(一)
  14. Galera Cluster mysql+keepalived集群部署
  15. MySQL半同步安装以及参数
  16. Dalvik指令备忘
  17. iOS8 dismissViewControllerAnimated:YES在Show Segue不工作
  18. “SAP.Middleware.Connector.RfcDestinationManager”的类型初始值设定项引发异常
  19. BZOJ 1821 部落划分(二分+并查集)
  20. 关于工具类静态方法调用@Autowired注入的service类问题

热门文章

  1. prefix pch 中引用cocoapods 中的头文件失败
  2. 周总结<8>
  3. 周总结<1>
  4. lintcode-421-简化路径
  5. lintcode-206-区间求和 I
  6. JavaScript数组去重的四种方法
  7. windows系统,可以ping通IP但是不能ping通网址的解决方法
  8. JSON字符串转换成对象时候 需要有默认构造器 因为这是通过反射创建的 反射是先通过默认构造器创建对象的
  9. luogu 1360 阵容均衡(前缀和+差分+hash)
  10. week1day01 认识python 变量 数据类型 条件if语句