hexo无法加载本地图片的问题

1. 下载hexo-asset-image插件

1
npm install hexo-asset-image --save

2. 修改_config.yml文件,将hexo-asset-image设置为true

3. 新建文章 hexo new “我的文章”, 然后在文章中插入图片,如:

1
![](我的文章/logo.png)

4. 如果图片还不能显示,这是插件bug未修复

解决方案:

  1. 找到node_modules\hexo-asset-image\index.js文件
  2. 找到if(/.*/index.html$/.test(link)) (大概在17行左右)
  3. 修改成如下代码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if(/.*\/index\.html$/.test(link)) {
    ...
    }
    else if (link.charAt(link.length - 1) === '/') {
    // link 是文件夹路径情形时
    var endPos = link.length - 1;
    }
    else {
    ...
    }
  4. 找到$(‘img’).each(function()) 代码,将其中
    1
    2
    $(this).attr('src', config.root + link + src);
    console.info&&console.info("update link as:-->"+config.root + link + src);
    改为相对路径引用
    1
    2
    $(this).attr('src', link + src);
    console.info&&console.info("update link as:-->"+link + src);
  5. 重新执行hexo clean、hexo g、hexo s