Tag: 表示

Angularjs从express.js的“public”文件夹的“views”文件夹中路由ejs静态文件

这是我的项目结构。 我试图从“public”文件夹中的angular度路由文件(app> public> main.js)中的“views”文件夹中调用ejs文件(app> views> list.ejs)。 但list.ejs不加载。 /************main.js****************/ var fsApp=angular.module('chart-app'); fsApp.config(function($routeProvider) { $routeProvider .when('/', { templateUrl: 'list.ejs', controller: 'listCtrl' }) /*In my server.js server file I am calling the files in public folder this way: */ app.use('/static',express.static(__dirname + '/public')); app.get('/',function(req,res){ res.render('index.ejs'); }); <!–In index.ejs (where my <ng-view></ng-view> is) I am including the link for static […]

节点快递/请求:通过正文parsing来pipe理POST请求

我试图通过远程服务器pipe理一个请求,如下所示: var destination = request(url); req.pipe(destination).pipe(res); 这对GET请求很好。 但是对于POST请求,我正在挣扎。 重要的一点是,我认为,对于POST请求,我在POST路由处理程序之前使用了一个主体parsing器,以便从POST请求中提取主体…这只是一个基本的文本主体parsing器,因为主体包含纯文本: var postRouteHandler = someFunction; var bodyParser = require('body-parser'); var textParser = bodyParser.text({ limit: '50kb' }); app.use('/postRoute', [textParser, postRouteHandler]); 从这个问题和这个问题在我看来,做任何处理的POST请求之前,你pipe它会导致一个问题。 事实上,当我删除parsing器时,pipe道似乎工作正常。 问题是我需要首先检查一下机体,做一些初始化处理,然后决定是否将请求传送到远程服务器上。 所以我需要在pipe道之前parsing身体。 有没有办法解决这个问题?

节点7.10 – 它支持等待吗?

我在节点7.10上: $ node –version v7.10.0 我认为它支持await 。 let result = await Weather.findOne(options, function(err, weather) { if (err) { res.set('Content-Type', 'application/json'); return res.status(200).send('Error occurs: ' + err); } if (weather) { res.set('Content-Type', 'application/json'); return res.status(200).send(key + ' already exist.'); } return weather; }); console.log(result); 错误信息: let result = await Weather.findOne(options, function(err, weather) { ^^^^^^^ SyntaxError: Unexpected […]

Node.js将datestring转换为unix时间戳

我试图在Node.js中将datestring转换为unix时间戳。 我的代码在我的客户端完美工作,但是当我在我的服务器上运行它我得到一个错误: (node:19260)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):TypeError:input.substring不是函数 我的代码: function dateParser(input) { // function is passed a date and parses it to create a unix timestamp // removing the '.000' from input let finalDate = input.substring(0, input.length – 4); return new Date(finalDate.split(' ').join('T')).getTime(); } 我的input示例为2017-09-15 00:00:00.000 那么,为什么上述工作在我的客户端,但不是在节点,以及如何复制节点中的function?

我应该为WebP图像启用GZIP压缩吗?

压缩WebP图像后启用gzip压缩是否仍然相关..? 在我的情况下,我使用压缩中间件的express 。

Express.js req.body在获取callback时未定义

我正尝试从Dribbble Auth API接收callback。 身份validation过程工作正常,直到我试图获取响应数据与NodeJS。 我的callbackURL是http://localhost:8080/callbackcallback链接看起来像这样http://localhost:8080/callback?code=11ee328ab7935bd7240cbff0a2d0b8c93e96547e0a3&state=aoksdmSAOKDm 我正在使用body-parser和multer。 var express = require("express"); var multer = require("multer"); var bodyParser = require("body-parser"); var cookieParser = require("cookie-parser"); var upload = multer({ storage: multer.memoryStorage() }); var app = express(); app.use(cookieParser()); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); app.use(express.static(path.join(__dirname, "../webapp/"))); app.get("/callback", upload.single("code"), (req,res) => { console.log(req.body); res.send() } 控制台中的响应是未定义的

如何在一个自称的asynchronous函数内插入一个参数?

我有一个快速安装与发布请求。 我试图添加req (async (req, res) : router.post('/search', (req, res) => { ;(async (req, res) => { const browser = await puppeteer.launch() const page = await browser.newPage() await page.goto(`https://www.google.com/search?tbm=bks&q=%22this+is%22`) const result = await page.evaluate(() => { console.log('CLAUSESS:', req.body.clauses) const clauses = req.body.clauses return clauses.map(clause => clause.textContent) }) result.join('\n') await browser.close() res.send(result) })() }) 但是,我仍然得到这个错误: (节点:5757)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):错误:评估失败:ReferenceError:req未在以下位置定义:2:32 什么是这样做的正确方法?

Node.js / Express / Mongoose – 如何发送JSON以及对象的视图?

当我使用Mongo在Node / Express中显示模型对象时,我希望将JSON对象与视图一起传递。 Curren路线(通过只是看法): app.get('/page/:customurl', function(req, res, next) { Page.findOne({ customurl: req.params.customurl.toLowerCase()}, function(error, page) { if (!page) return next(new NotFound('Document not found')); res.render('pages/page_show.ejs', { locals: { title: 'ClrTouch | ' + page.title, page:page, } }); }); }); 我可以添加pagejson:page.toObject()到当地人,然后把pagejson在我的网页的地方? 当我试图在浏览器上显示为[对象,对象]。 有没有简单的方法可以将JSON传递给视图? 谢谢!

为什么我的json对象的`email`属性不显示在我的模板中?

有最奇怪的问题。 我无法显示对象的email属性。 我正在使用Mongoose / Express / Jade。 我正在做一个: User.find({ _id : { $in : req.project.subscribers } } , function (err, subs){… 这工作得很好,并返回我的订阅者列表在subs var,看起来像这样: { _id: 4f34832b9398bec847000002, email: 'steve@example.com', first_name: 'Steve', last_name: 'McQueen', status: 'active', username: 'steve', updated_at: Fri, 10 Feb 2012 02:38:35 GMT, created_at: Fri, 10 Feb 2012 02:38:35 GMT, role: 'subscriber' }, { _id: […]

多个variables在获取快件的请求

我在快递服务器上遇到了问题 app.get('/callback/:nation/:username/?:permalink', function(req, res) { nationurl = req.params.nation; username = req.params.username; storypermalink = req.params.permalink; console.log("nation: "+nation); console.log("username: "+username); console.log("permalink: "+permalink); }); 因为/?:它分裂的用户名,不给我的永久链接: nation: poneyclub username: j permalink: hondoe 任何人有一个想法?