用Cheerio,NodeJs从文件中追加HTML
我想从一个文件附加一些HTML到一些现有的加利福尼亚州的HTML,但我不断收到错误(错误是由cheerio库产生的,所以debugging很难)
expo.includeNav = function(html, result) { var file = 'templates/admin_nav.html'; fs.readFile(file, function(err, nav) { var $ = cheerio.load(html); $('body').append(nav); result($.html()); }); }
它似乎不喜欢传递一个variables到附加函数中。
如果我把HTML中,而不是从文件调用它的作品,如下所示:
$('body').append('<div class="nav"> navigation list here</div>');
但我不希望这样,因为我希望前端开发人员能够编辑HTML文件,而不是挖掘到我的节点JS代码,以find更改HTML的位置。
我已经解决了。 我认为别人可能会遇到这个问题,因为我可以看到这是一个共同的需要。 所以这里是答案。
你需要指定你希望它作为一个缓冲区的string返回。 用'utf8'
expo.includeNav = function(html, result) { var file = 'templates/admin_nav.html'; fs.readFile(file, 'utf8', function(err, nav) { var $ = cheerio.load(html); $('body').append(nav); result($.html()); }); }