我试图从网页上获取一些HTML并放入我的玉石模板中,这样我就可以在不需要复制和粘贴的情况下进行设计。
var request = require("request");
var cheerio = require("cheerio");
var loadContent = function() {
request({
uri: "http://www.mywebsite.com.br/test"
}, function(error, response, body) {
var $ = cheerio.load(body);
var result;
$('.content').each(function(){
result={"content":$(this).html()};
});
placeContent(result);
return true;
});
};
var placeContent = function(content) {
return content;
};
module.exports = loadContent;
在我的gulpfile.js中,除了正确的要求外,我还有:
gulp.task('jadeBuild', function() {
var options = {
pretty: true
};
return gulp.src(src+'/*.jade')
.pipe(data(function(){
return loadContent();
}))
.pipe(jade(options))
.pipe(gulp.dest(build))
.pipe(connect.reload());
});
我的玉文件:
.mycontent
#{content}
我错过了什么?
答案 0 :(得分:0)
尝试将jade文件中的#{content}
更改为!{content}
。这将告诉jade不要逃避任何角色(这可能很危险,这取决于输入的来源!)。
请参阅http://jade-lang.com/reference/interpolation/
此外,当您循环遍历每个.content
时,您每次都会覆盖result
。如果要将所有内容聚合在一起,则需要附加到结果。类似的东西:
var result = {content: ''};
$('.content').each(function(){
result.content += $(this).html();
});