Tag: ejs

如何创build一个全局函数来访问express.js中的数据库

我使用express.js,mongodb,ejs。 在导航栏中,有一个电子邮件图标,将显示新电子邮件的数量。 <%=newEmailCount%> 然后我需要添加这个newEmailCount到每一个路线。 Emails.count({userId: userId, new: true}) 我的问题是在express.js,我怎么能添加一个全局函数,可以执行每个路由?

Express EJS布局:res.locals不在布局中呈现

Express 4使用Express EJS布局模块。 我不知道如何标签,但我有这个问题。 我有一个路线文件,一个布局和一个视图。 我试图通过使用下面的代码的布局通过页面标题和页面描述 。 路线 router.get('/', function(req, res, next) { res.locals.meta = { title: 'Page Title', description: 'Page Description' }; res.render('pages/index', { header: 'Page Header' }); }); 布局 <!DOCTYPE html> <html dir="ltr" lang="en" class="no-js"> <head> <title><%= meta.title %></title> <meta name="description" content="<%= meta.description %>"> </head> <body> <%- body %> </body> </html> 视图 <h1 […]

Expressjs ejs fn.apply错误“视图不是一个构造函数”

我正在尝试在原始app.get被调用之前完成一些工作。 我find了这个页面,我尝试了他们所做的工作,并且大部分工作,期望当我尝试使用渲染引擎时。 我正在使用的代码( app是express() )的结果: const express = require('express'); const app = express(); const ejs = require('ejs'); app.set('view engine', 'ejs'); var originalfoo = app.get; app.get = function() { // Do stuff before calling function console.log(arguments); // Call the function as it would have been called normally: originalfoo.apply(this, arguments); // Run stuff after, here. }; app.get('/home', […]

如何在ejs模板中设置内容的字符限制

我从EJS模板中获取Mognodb的内容。 我有超过500个字符的描述字段,但是我想在我看来只显示50个字符。 谁能告诉我该怎么做。

无法在EJS文件中查看arrays数据

我使用Node.js,并在res.Render();传递firstRow对象res.Render(); 这是我的index.ejs : <html> <head> <title>DropDown</title> </head> <body> <form action="/submit" method="post"> <table name="choice"> <% for(var i=0; i<firstRow.length-1; i++) %> <tr> <td><%= firstRow[i] %></td> </tr> <% } %> <input type="submit" name="submit"> </form> </body> 当我运行这个,我得到一个错误: SyntaxError: Missing catch or finally after try in /Users/MithilAmin/Desktop/excel demo/views/index.ejs while compiling ejs If the above error is not helpful, you may […]

有没有一种很好的方式使用EJS组队避免重复使用Express服务器?

假设我的应用程序有两个视图:index.ejs,profile / index.ejs我想使用下面的快速代码路由。 /* GET home page. */ router.get('/', function (req, res, next) { res.render('index'); }); /* GET profile page. */ router.get('/profile', function (req, res, next) { res.render('profile/index'); }); 应该两个ejs文件都有自举链接? <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"> 如果答案是肯定的,每当我想渲染另一个页面,我应该从CDN重新加载样式和js文件? 我的意思是,当我改变我的EJS模板时,是否有一个很好的方法来保持共同的内容?

EJS模板什么都不呈现

我基本上学习Node.js和EJS,我有这样的代码: index.js: var express = require('express'); var app = express(); // createApplications(); app.set('view engine', 'ejs') app.get('/', function(req,res){ res.sendFile(__dirname + '/index.html'); }) app.get('/profile/:name', function(req,res){ console.log(req.params.name); res.render("profile", {username : req.params.name}); }) app.listen(process.env.PORT, process.env.IP, function(err){ if(err) throw err; console.log("Listening at IP:PORT " + process.env.IP + ':' + process.env.PORT) }); views / profile.ejs: <!DOCTYPE html> <html> <head> <style> body […]

将数据从POST路由传递到模板

我正在尝试使用node.js构build简单的天气应用程序。 我想在单独的ejs文件中显示天气信息。 我的后路线代码如下所示: app.post('/', (req, res) => { var address = req.body.address; location.getLocation(address, (error, results) => { if(error) { console.log(error); } else { fetchWeather.getWeather(results.latitude, results.longitude, (error, weatherResults) => { if(error){ console.log(error); } else { var temp = weatherResults.temperature; var appTemp = weatherResults.apparentTemperature; console.log(temp, appTemp); } }); } }); res.redirect('weatherinfo'); }); 我正在使用请求来获取单独的文件中的数据: var getWeather = (lat, […]

带有Post方法和enctype Multipart / form-data的表单没有在Nodejs Express multer模块上提交

我在用 : "ejs": "^2.5.6", "express": "^4.14.0", "express-validator": "^3.2.0", "multer": "^1.3.0", 我的表单是: <form id="offer-form" role="form" enctype="multipart/form-data" action="/subfolder/86" method="POST"> <input type="text" name="name"/> <input type="file" name="images"/> <input type="file" name="images"/> <button type="submit">Submit</submit> </form> 我的服务器路由: var path = require('path'); var express = require('express'); var bodyParser = require('body-parser'); var expressValidator = require('express-validator'); var osmodule = require('../../osmodule'); var Multer = require('multer'); var […]

为什么我的中间件不检查电子邮件是否已经存在?

我使用passportJS来validation人员。 我最近意识到的问题是,用户可以注册多个帐户。 我创build了一个中间件来检查电子邮件是否已经被使用,但不知何故仍然通过testing。 var User = require('../models/users'); var authMethods = {}; authMethods.isInUse = function(req,res,next){ User.findOne({"email" : req.body.email}, (err,user) => { if(user){ req.flash('error',"This mail is already in use."); res.redirect('/register'); }else { return next(); } }); } module.exports = authMethods; 在我的身份validation页面中,我正在调用路由中的中间件以满足条件。 router.post('/register',authMethods.isInUse ,multipart(),function(req, res) { var image = fs.readFileSync(req.files.image.path); var profilePic = {data : image, contentType : […]