--- title: 发布自己的npm包,hexo文章排序插件 date: 2018-06-11 20:36:46 description: 第一次发布自己的npm包,解决了hexo文章排序的问题 categories: [技术总结] tags: [Node, Npm, Hexo] --- ## 问题场景 > 搭建博客时文章的排序问题,想要按照更新时间排序,另外支持置顶,默认的排序插件和npm搜索到的很多插件都不能同时支持这两种排序方式。 后来查看了`hexo-generator-index-pin-top`插件的源码,修改了排序字段后本地测试成功。那么每次在本地安装完插件都要先修改源码了, 这对于我来说就很可怕了,正好了解到npm可以发布自己的包,按部就班做完,效果非常棒! ### 简介 项目地址: [Github](https://github.com/chenbin-353549444/hexo-generator-index-updated) 插件地址: [hexo-generator-index-updated](https://www.npmjs.com/package/hexo-generator-index-updated) ### 步骤 - 初始化npm项目 ```bash npm init ``` 填写完一大堆东西后会生成一个`package.json`,然后就可以编写代码了 这里我是修改别人的插件,所以直接fork了那个插件的Github工程,然后修改package.json - 登陆npm帐号 ```bash npm login # 验证登陆 npm who am i ``` 当然,首先要去[npm官网](https://www.npmjs.com/)注册一个帐号 - 发布 ```bash npm publish . ``` 完成后显示一行包名和版本号就是成功了,npm会发一封邮件给你 更新时修改版本号再发布一边就行了 ### 遇到问题 - 无法登陆 > 因为之前使用了npm淘宝镜像,这时候要改回原来的源 ```bash # 使用淘宝镜像 npm config set registry https://registry.npm.taobao.org # 改回原来的源 npm config set registry http://registry.npmjs.org ``` - 发布命令显示成功,但是没有收到邮件,登陆官网查看也没有包 > 这个问题比较诡异,因为是国外网站,所以当时我是开了VPN发布的,显示成功但是实际没有上传到官网。 后来过了几天在没开VPN状态下发布成功了,可能与网络环境和代理有关,所以`发布还是不要连VPN了!`。