chaooo / hexo-theme-BlueLake

A simple theme for Hexo with great performance on different devices .
MIT License
329 stars 121 forks source link

升级hexo5后生成出现错误 #111

Closed slacker-HD closed 4 years ago

slacker-HD commented 4 years ago

您好,升级到最新的hexo后,在生成的时候出现以下错误: `ERROR TypeError: D:\mydoc\blog\themes\BlueLake\layout\tag.jade:20 18| .post-archive 19| .archive-wrap.tag-cat

20| each posts in _.groupBy(page.posts.toArray(), function(p){return -p.date.format('YYYY')}) 21| ul.listing 22| for post in posts 23| li

Cannot read property 'groupBy' of undefined` 仔细看下都是jade文件里面出现了Cannot read property 'groupBy' of undefined,请教如何解决。

joydezhong commented 4 years ago

我也遇到同类问题,请问需要如何解决

    7|     .post-archive
    8|       .archive-wrap
  > 9|         each posts, year in _.groupBy(page.posts.toArray(), function(p){return -p.date.format('YYYY')})
    10|           h2= -year
    11|           ul.listing
    12|             for post in posts

Cannot read property 'groupBy' of undefined

目前版本: "hexo": "^5.0.0", node14+

stevenjoezhang commented 4 years ago

Hexo 删除了 lodash,因此无法使用 _.groupBy

LTBF commented 4 years ago

该如何修改啊,有人知道吗?

joydezhong commented 4 years ago

Hexo 删除了 lodash,因此无法使用 _.groupBy

可否自己引入lodash使用? 我尝试在base.jade文件中通过script的方式引入lodash,貌似没有效果

stevenjoezhang commented 4 years ago

试试这样: 在 Hexo 博客的根目录执行

npm install lodash

然后进入 scripts 目录(不存在则创建),新建一个 js 文件(名称无所谓),写入如下内容

const _ = require('lodash');

hexo.extend.filter.register('template_locals', locals => {
  locals._ = _;
});
LTBF commented 4 years ago

楼上正解,解决了!!!

试试这样: 在 Hexo 博客的根目录执行

npm install lodash

然后进入 scripts 目录(不存在则创建),新建一个 js 文件(名称无所谓),写入如下内容

const _ = require('lodash');

hexo.extend.filter.register('template_locals', locals => {
  locals._ = _;
});
slacker-HD commented 4 years ago

试试这样: 在 Hexo 博客的根目录执行

npm install lodash

然后进入 scripts 目录(不存在则创建),新建一个 js 文件(名称无所谓),写入如下内容

const _ = require('lodash');

hexo.extend.filter.register('template_locals', locals => {
  locals._ = _;
});

解决问题了,非常感谢。