Tag: ejs

用可变数据呈现HTML并将其转换为PDF

我有一个html模板页面,我想通过EJS填写数据,之后我想把这个完成的页面传递给PDF创build者; 最终的结果是我的页面充满了我的数据很好的PDF版本。 对于PDF创build者,我使用NPM html-pdf进行转换。 问题是,我不知道我可以用我的数据渲染页面,自动保存页面,然后将完成的页面传递给PDF创build者,因为PDF创build者只接受保存网页的服务器path。 也许我正在接近这个错误的方式,但下面是我目前所知道的,这确实不是很多。 任何帮助在正确的方向将不胜感激。 var renderPDF = function() { var pdf = require('html-pdf'); // pulls html page var html = fs.readFileSync('views/assets/html/render.ejs', 'utf8'); var options = {}; // creates views/test.pdf pdf.create(html, options).toFile('views/test.pdf', function(err, res) { if (err) return console.log(err); console.log(res); }); }; // this is how I usually render ejs files with data […]

无法读取节点JS中未定义的属性“名称”

我在Node js中是新的。 我正在尝试使用mysql在节点js中制作CRUD应用程序。 但我面临着我无法理解或处理的错误。 请帮忙。 并在adv。 我无法从ejs页面读取input字段值到server.js页面。 我的server.js文件在下面给出 // server.js var express = require('express'); var app = express(); var bodyParser = require('body-parser'); var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "", database: "tuts_rest" }); // set the view engine to ejs app.set('view engine', 'ejs'); // about page app.get('/about', function(req, res) […]

“ejs.render”正在呼叫下一个路线

当我在http:// localhost / client中input时,显示404。 app.get('/client', function(req, res) { … ejs.render('any template', {}); … res.end(); }); app.get('*', function(req, res) { console.log('404'); … }); 但如果我删除“ejs.render”并把res.end('任何html')的作品。 我如何使用“ejs.render”而不是调用404? 谢谢。 这是一个错误。

无法获得ejs值到脚本variables?

每当我尝试在脚本中设置一个variables等于使用ejs呈现的数组时,我会得到'无效是意外的标记'。 这里是片段: <script type="text/javascript"> var list = <%= events.slice(0) %>; </script> 本来我已经设置为: <script type="text/javascript"> var list = <%= events %>; </script> 但是我收到了同样的错误。 我很确定你可以渲染一个包含脚本标签的ejs文件,并将ejsvariables设置为脚本标签中的一个variables。 我错了吗? 事件是日历的事件模型的数组。

解决 – NodeJS – 试图呈现index.ejs文件,但仍然只是服务器index.html是在我的公用文件夹

下面的代码仍然服务于public文件夹中的index.html页面,但我想呈现index.ejs 。 我跟着video的例子,所以我不知道他为什么能够呈现ejs文件,而我仍然只看到index.html文件。 我使用的video示例似乎是一样的。 我的package.json文件有"main": "app.js" 。 以下是video示例链接,代码如下: https : //youtu.be/gnsO8-xJ8rs?t = 28m12s //View Engine app.set('view engine', 'ejs'); app.set('views', path.join(__dirname, 'views')); //Body Parser Middleware app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended : false})); //Set Static path app.use(express.static(path.join(__dirname, 'public'))); //Routes app.get('/', (req, res) => {//homepage represented by the single slash res.render('index'); }); app.listen(3000, () => { console.log('server started on port 3000…'); […]

将ejs中的键值数组与组合选定的值进行比较

我有一个路线js我定义得到像这样的function: exports.get = function (req, res) { var calls = [{ propertyTypes: function (acc) { return '/catalog/propertyTypes/'; }, }]; commercial_residential = { 1 : 'Residencial', 2 : 'Comercial' } property_types = [ [ [4 , "departamento"], [5 , "campo"], [8 , "casa"], [13 , "duplex"], [43 , "casa"], [47 , "departamento"], [49 , "campo"], [50 […]

无法在node.js / javascript中获取错误

我编写了代码并执行,但无法获取HTML中发生的错误消息。 我用express和GET方法使用Eclipse和node.js。 但是当我inputIP和端口并推送提交时,HTML显示cHTMLt得到〜ip =〜; port =〜 有什么我做错了吗? index.ejs <!DOCTYPE html> <html> <head> <title><%= title %></title> <link rel='stylesheet' href='/stylesheets/style.css' /> </head> <body> <h1><%= title %></h1> <p>Welcome to <%= title %></p> <form action="/testget" method="get"> <input type="text" name="ip"> <p> <input type="text" name="port"> <p> <input type="submit"> </form> </body> </html> app.js var express = require('express') , routes = require('./routes') , […]

Node.js和Express静态中间件路由视图

这在我看来似乎是一个非常基本的问题,但是我一直没有find答案。 我使用快递与ejs作为模板引擎和以下目录结构: |-static |—css |—img |—js |-views 我为static文件夹定义了static路由: app.configure(function(){ app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.use(express.bodyParser()); app.use(partials()); app.use(express.methodOverride()); app.use(express.static(__dirname + '/static')); app.use(app.router); app.enable("jsonp callback"); }); 在Views文件夹中,我保留了所有的ejs文件 – 一个是layout.ejs ,其余的文件是具体页面的实际内容。 我已经定义了以下路线: app.get('/', function(req,res){ locals.date = new Date().toLocaleDateString(); res.render('home.ejs', locals); }); app.get('/about', function(req,res){ locals.date = new Date().toLocaleDateString(); res.render('about.ejs', locals); }); app.get('/contact', function(req,res){ locals.date = new Date().toLocaleDateString(); […]

NodeJS Ejsvariables呈现HTML

你可以像使用ejs一样输出variables PagesController.test = function() { this.title = 'test' this.render(); } <title><%= title %></title> 不过,我试图在variables中包含html,它只是将其显示为文本。 是否有可能使其呈现为HTML?

来自server.js的Node.js父path

我在那里c:\nodejs\www\project\bin\server.js 我的意见在c:\nodejs\www\project\views 然后在我的server.js有: .set('views', __dirname + '/views') 但是生成的path是: c:\nodejs\www\project\bin\views 如何获得bin文件夹的父级? 我使用Express和Ejs。 问候