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