hexo报错TypeError: Cannot read property 'count' of undefined
情景再现
使用“hexo s”启动本地服务器时,项目报错,具体如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| D:\blog>hexo s INFO Validating config INFO Start processing FATAL { err: TypeError: Cannot read property 'count' of undefined at Hexo.module.exports (D:\blog\node_modules\_hexo-baidu-url-submit@0.0.6@hexo-baidu-url-submit\lib\generator.js:4:41) at Hexo.tryCatcher (D:\blog\node_modules\bluebird\js\release\util.js:16:23) at Hexo.<anonymous> (D:\blog\node_modules\bluebird\js\release\method.js:15:34) at D:\blog\node_modules\hexo\lib\hexo\index.js:405:22 at tryCatcher (D:\blog\node_modules\bluebird\js\release\util.js:16:23) at MappingPromiseArray._promiseFulfilled (D:\blog\node_modules\bluebird\js\release\map.js:68:38) at MappingPromiseArray.PromiseArray._iterate (D:\blog\node_modules\bluebird\js\release\promise_array.js:115:31) at MappingPromiseArray.init (D:\blog\node_modules\bluebird\js\release\promise_array.js:79:10) at MappingPromiseArray._asyncInit (D:\blog\node_modules\bluebird\js\release\map.js:37:10) at _drainQueueStep (D:\blog\node_modules\bluebird\js\release\async.js:97:12) at _drainQueue (D:\blog\node_modules\bluebird\js\release\async.js:86:9) at Async._drainQueues (D:\blog\node_modules\bluebird\js\release\async.js:102:5) at Immediate.Async.drainQueues [as _onImmediate] (D:\blog\node_modules\bluebird\js\release\async.js:15:14) at processImmediate (internal/timers.js:461:21) } Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs/troubleshooting.html
|
而在这之前,我安装了hexo-baidu-url-submit插件。
处理
从报错日志中我们可以看到是由于hexo-baidu-url-submit插件导致的,查看官方文档( https://github.com/huiwang/hexo-baidu-url-submit )发现是由于没有在站点配置文件配置baidu-url-submit配置项导致。
这里介绍两种处理方式:
1.补全相关配置信息
- 注册百度站长( https://ziyuan.baidu.com/ )(需要有自己的域名),获取相关token等必要信息。
- 将baidu-url-submit配置项添加至站点配置文件中。
1 2 3 4 5 6
| baidu_url_submit: count: 200 host: www.baidu.com token: your_token path: baidu_urls.txt
|
- 此外,还需要在站点配置文件中加入新的 deploy 配置项:
1 2 3 4 5 6
| deploy: - type: git repo: 【GitHub项目地址】 branch: main - type: baidu_url_submitter
|
2.放弃百度主动推送功能,卸载该插件即可。
1 2 3
| npm remove hexo-baidu-url-submit hexo clean hexo g
|
由于没有域名,我选择了后者,放弃了百度主动推送功能。第一种处理方式是从他人博客参考获取,可行性仍有待进一步验证。
参考链接
- https://blog.csdn.net/nineya_com/article/details/103445898
- https://blog.yirenliu.cn/posts/42821/#%E7%99%BE%E5%BA%A6%E4%B8%BB%E5%8A%A8%E6%8E%A8%E9%80%81%E7%9A%84%E4%BD%9C%E7%94%A8