hexo-asset-image
                                
                                 hexo-asset-image copied to clipboard
                                
                                    hexo-asset-image copied to clipboard
                            
                            
                            
                        TypeError: Cannot read property 'replace' of undefined
下载完成后,进行hexo g时出现错误。
错误代码如下:不知是何原因
$ hexo g
FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/do                                                                                                                       cs/troubleshooting.html
TypeError: Cannot read property 'replace' of undefined
at Object.
你解决这个问题没,我也遇到了这个问题
解决这个问了,把node_modules/hexo-asset-image/index.js文件里的内容替换为:
'use strict'; var cheerio = require('cheerio');
// http://stackoverflow.com/questions/14480345/how-to-get-the-nth-occurrence-in-a-string function getPosition(str, m, i) { return str.split(m, i).join(m).length; }
var version = String(hexo.version).split('.'); hexo.extend.filter.register('after_post_render', function(data){ var config = hexo.config; if(config.post_asset_folder){ var link = data.permalink; if(version.length > 0 && Number(version[0]) == 3) var beginPos = getPosition(link, '/', 1) + 1; else var beginPos = getPosition(link, '/', 3) + 1; // In hexo 3.1.1, the permalink of "about" page is like ".../about/index.html". var endPos = link.lastIndexOf('/') + 1; link = link.substring(beginPos, endPos);
var toprocess = ['excerpt', 'more', 'content'];
for(var i = 0; i < toprocess.length; i++){
  var key = toprocess[i];
  var $ = cheerio.load(data[key], {
    ignoreWhitespace: false,
    xmlMode: false,
    lowerCaseTags: false,
    decodeEntities: false
  });
  $('img').each(function(){
	if ($(this).attr('src')){
		// For windows style path, we replace '\' to '/'.
		var src = $(this).attr('src').replace('\\', '/');
		if(!/http[s]*.*|\/\/.*/.test(src) &&
		   !/^\s*\//.test(src)) {
		  // For "about" page, the first part of "src" can't be removed.
		  // In addition, to support multi-level local directory.
		  var linkArray = link.split('/').filter(function(elem){
			return elem != '';
		  });
		  var srcArray = src.split('/').filter(function(elem){
			return elem != '' && elem != '.';
		  });
		  if(srcArray.length > 1)
			srcArray.shift();
		  src = srcArray.join('/');
		  $(this).attr('src', config.root + link + src);
		  console.info&&console.info("update link as:-->"+config.root + link + src);
		}
	}else{
		console.info&&console.info("no src attr, skipped...");
		console.info&&console.info($(this));
	}
  });
  data[key] = $.html();
}
} });
0.0.4 版本中是否仍然存在?