Tag: html

使用Node.js在服务器上进行HTML渲染

假设我有一个网页,其中只包含一个javascript引用。 当一个浏览器加载页面时,它运行的是实际呈现的javascript。 javascript很大,很复杂,并且会进行大量的XHR调用。 现在我需要使这个页面可search ,即呈现在服务器上的页面。 我试图加载页面phantomJS但它是缓慢的,有时并没有完成整个页面。 所以我想知道是否有其他select。 理想情况下,我需要一个node.js脚本 通过URL加载网页 运行的JavaScript页面,然后 将由javascript创build的DOM序列化为HTML。 PS我可以假设JavaScript是基于React.js

节点将HTML表示为PDF

我正在寻找使用快递直接向浏览器呈现网页的pdf版本。 像express.render()这样的东西只会将页面渲染为pdf 我find了一个将HTML或URL转换为PDF的模块 https://github.com/marcbachmann/node-html-pdf 我需要知道的是,如何直接在HTTP路由处理程序中使用该库的响应来响应使用PDF的请求,我不想存储PDF,我只是想dynamic呈现它,并返回它作为浏览器的缓冲区或stream 这是模块提供的基本API: var pdf = require('html-pdf'); pdf.create(html).toFile([filepath, ]function(err, res){ console.log(res.filename); }); pdf.create(html).toStream(function(err, stream){ stream.pipe(fs.createWriteStream('./foo.pdf')); }); pdf.create(html).toBuffer(function(err, buffer){ console.log('This is a buffer:', Buffer.isBuffer(buffer)); }); 我想使用这些方法之一stream或缓冲区,并将其包装在这样一个路由处理程序: router.get('invoice/pdf', function(req, res) { res.status(200).send(..pdf data); });

在使用node.js提供网页时如何去掉.html扩展名?

我是node.js的初学者,并且使用了ejs layout的express,我想知道如何在页面放置时去掉.html扩展名。 例如,如果我去我的本地主机:3000 / about.html – 这工作,但我希望它显示为/只。 另外,如果有人知道如何快速更改表示默认,则无法找出如何更改图标。 任何帮助将是非常感谢。

为什么Phantom.js没有评估我的Backbone应用程序的工作?

page.open(My_url, function(status) { page.evaluate(function() { var html = document.documentElement.outerHTML; return html; }, function(result){ res.send(result); }); }); 我有一个骨干应用程序。 “My_url”指向该骨干网页。 当我运行这个代码时,outerHTML不包括渲染的视图。 它只是基本的CSS /脚本/容器持有人。 这就像骨干的应用程序根本没有运行。 如何使评估()返回完全呈现的骨干应用程序(所有的Ajax调用和东西)? 毕竟,这就是Phantom.js的要点

使用CSS作为nodemailer中的电子邮件内容的外部HTML文件

有谁知道如何告诉Node.js的模块nodemailer使用外部HTML文件(带有样式表的链接)作为电子邮件内容? 我能够inputHTML标签作为电子邮件内容,但我更喜欢加载完整的HTML文件。 我正在使用nodemailer 1.3.0。 不幸的是我找不到任何涵盖这个问题的实际节点制作者版本的例子。 想法?

Express + AngularJS + HTML:ng-include不起作用(404 – 页面未find错误)

我是AngularJS的新手。 我正在尝试使用ng-include在我的主HTML页面中包含外部HTML页面。 但问题是我不能够包括它,并获得404.以下是文件夹结构和代码, 项目文件夹结构: buttonClick.jade (这是首页。) doctype html html(ng-app) head link(rel='stylesheet', href='/stylesheets/bootstrap.min.css') link(rel='stylesheet', href='/stylesheets/style.css') script(src='/javascripts/angular.min.js') body(class="mainPage") //include footer.html include pageinclude.html pageinclude.html <div> <div>Include Page Demo</div> <div ng-include="'footer.html'"></div> </div> 注意: 1)当我包含footer.html页面直接在.jade文件,然后它工作正常。 但是当我在HTML文件中使用ng-include时,它不起作用。 2)我也尝试了以下ng-include方法, <div ng-include="'footer.html'"></div> <ng-include src="'footer.html'"></ng-include>

如何使用node.JS中的phantomJs将html内容呈现为pdf文件

我怎样才能生成一些PDF文件的HTML内容,并使用node.js中的phantom.js呈现文件和内容浏览器?

无法导入脚本Node.js服务器

我创build一个HTTP服务器节点,读取一个简单的HTML文件。 该html文件导入位于我的电脑中的一些脚本。 节点无法加载这个脚本。 为什么? var http = require('http'); var io = require('socket.io').listen(2210); var fs = require('fs'); http.createServer(function(req, res){ fs.readFile("./index.html", function(err, data){ if (err){ res.writeHead(500); res.end("Error loading index.html"); } res.writeHead(200, {"Content-Type":"text/html"}); res.end(data, 'utf-8'); }); }).listen(2211); io.sockets.on('connection', function(socket){ }); 这里是html文件: <!DOCTYPE html> <html> <head> <title>ASGEAWER</title> <meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1"> <link rel="stylesheet" href="jquery-mobile/jquery.mobile.css" /> <link rel="stylesheet" href="jquery.mobile.splitview.css" […]

node.js脚本无法获取静态文件

我有一个基本的HTML index.html与一些容器,我添加引导程序和字体真棒文件夹的文件的<head>部分。 如: <link href="../bootstrap/css/bootstrap.css" rel="stylesheet"> <link href="../bootstrap/css/bootstrap-responsive.css" rel="stylesheet"> <link href="font-awesome/css/font-awesome.css" rel="stylesheet"> 然后,我写了一个web.js脚本来初始化服务器,然后添加这些包含静态文件的文件夹,方法如下: var express = require('express'); var app = express(); var fs = require('fs'); var buf = fs.readFileSync("index.html"); app.use(express.logger()); app.get('/', function(request, response) { response.send(buf.toString()); }); app.configure(function(){ app.use(express.static(__dirname + '/assets')); app.use(express.static(__dirname + '/bootstrap')); app.use(express.static(__dirname + '/font-awesome')); }); var port = process.env.PORT || 8080; app.listen(port, function() […]

在没有孩子的家长中使用cheerio获取文本

我正在尝试使用cheerio来提取div的内容 – 没有该div的任何子项。 如果我只是使用div.text() – 我得到所有文本 – 父母和子女。 这里是HTML – 我只想要值“5.25” 下面的代码目前返回“购买价格$ 5.25” 下面的HTML: <div class="outer tile"> < … various other html here > <div class="cost"> <span class="text">Purchase price </span> <small>$</small>5.25 </div> </div> 与下面的相关node.js CHEERIO代码的摘录: var $ = cheerio.load(data); $("div.outer.tile").each(function(i, e) { var price = $(e).find('div.price'); console.log(price.text()); });