Tag: 表示

Node.js API为相同的请求返回不同的值

我正在学习使用Node.js + Express来构build一个REST API。 在这个API中,我有以下方法: apiRouter.route('/training/session/byId/:id_session') // ===== GET ======= .get(function(req, res) { //Get the session Session.findById(req.params.id_session, function(err, session) { //Get an array of exercise associated with the session Exercise.find({session: session._id}, function(err, exercise) { let movements = []; let sets = []; let i = exercise.length-1; //For every exercise get the movements and the sets […]

在Express(MEANJS)生产模式下使用LetsEncrypt SSL证书

我正在使用Meanjs样板。 我的LetsEncrypt证书可以在开发模式和非节点应用上正常工作,但是我不能使它在prod模式下工作。 我启动应用程序时出现以下消息: + Error: Certificate file or key file is missing, falling back to non-SSL mode To create them, simply run the following from your shell: sh ./scripts/generate-ssl-certs.sh 如果我运行sh ./scripts/generate-ssl-certs.sh不受信任的自签名证书生成,但只有在我将它们指向nginxconfiguration时才起作用。 否则,我在浏览器上得到502错误。 顺便说一句,我需要使用可信任的证书。 如果我尝试复制我信任的LetsEncrypt证书到应用程序pathconfig/sslcerts/我也得到502错误。 来自/etc/letsencrypt/live/domain.com/证书文件(链接) cert.pem chain.pem fullchain.pem privkey.pem Nginx的错误.log: 2016/11/02 23:50:28 [error] 26186#26186: *164 upstream prematurely closed connection while reading response header from upstream, […]

使用node.js和本地promise来构build堆栈跟踪

我们有一个明确的API应用程序,我们利用ES6的原生承诺。 我们目前的设置为简单的获取将是 //controller.js snippet get: function (req, res, next) { repository.getObject() .then(function (response) { return res.status(200).json(response); }).catch(function (err) { return next(err); }); } //repository.js snippet getObject:function(){ return new Promise(function (resolve, reject) { var sql = SELECT * FROM table; db.query(sql, function (err, result) { if (err) return reject(err); return resolve(result.rows)); }); }); } //app.js snippet […]

渲染包含angular度属性的玉文件

我试图呈现我的index.html在服务器端使用玉我正在开发我的应用程序使用angularjs。 问题是这里,当我想呈现我的玉文件,我有下面的错误 E:\ Project \ agency_theme6 \ server \ core \ coreHttpHandlers \ visitor.jade:2 head(ng-controller =“headCtrl”prefix ='og: http ://ogp.me/ns#')ReferenceError:无效的左手一边在分配 我的玉码在这里 html(lang="en") head(ng-controller="headCtrl" prefix='og: http://ogp.me/ns#') base(href="#!/") meta(http-equiv="Content-Language", content="fa") meta(name="fragment", content="!") meta(name="viewport" , content="width=device-width, initial-scale=1.0") meta(http-equiv="Content-Type" , content="text/html; charset=utf-8") meta(http-equiv="Content-Style-Type", content="text/css") meta(http-equiv="Pragma", content="public") meta(http-equiv="Expires", content="-1") meta(http-equiv="refresh", content="1800") meta(name="generator", content="News Studio, http://www.partdp.ir") meta(name="copyright" content="Copyright (c) boursekhan") meta(property="og:title", content="") […]

发送回复并继续执行Express |的任务 Node.js的

在Node.js(我是新手),我正在尝试接收响应后执行一系列的任务。 但是,我想尽可能快地做出响应。 我不需要将这些任务的结果返回给客户端,所以我试图立即返回响应。 我目前的实施大致是: var requestTime = Date.now; app.post('/messages', function (req, res) { console.log("received request"); // handle the response var body = res.body; res.send('Success'); res.end(); console.log("sent response"); performComplexTasks(body) }) function performComplexTasks(body){ // perform data with body data here; console.log("finished tasks:", Date.now()-requestTime, "ms"); } // ——-LOG———– // received request // POST /api/messages 200 3.685 ms – […]

错误:无法在视图目录中查找视图“布局”

我得到错误,如Error: Failed to lookup view "layout" in views directory 。 以下是文件的源代码以及文件夹结构。 index.ejs <!DOCTYPE html> <html> <head> <title>Form Handling</title> </head> <body> <h1>Hello World</h1> </body> </html> server.js //require express var express = require('express') var app = express() var expressLayouts = require('express-ejs-layouts') //Setting the View Engine as EJS app.set('view engine', 'ejs') app.use(expressLayouts) //Specifying the router file var router […]

Express.js – 如何将套接字传递给child_process

根据这个 https://nodejs.org/api/child_process.html#child_process_example_sending_a_socket_object 您可以轻松地将套接字连接传递给subprocess,以便它可以独立处理套接字事务。 你如何实现与客户端使用io.socket.js发送套接字请求的快速提供的req.socket对象相同的事情? 你不能这样做: child.send("socket",req.socket") 因为req.socket不是net.Socket的一个实例,所以它不能通过下面的检查 if (handle instanceof net.Socket) { message.type = 'net.Socket'; } else if (handle instanceof net.Server) { message.type = 'net.Server'; } else if (handle instanceof process.binding('tcp_wrap').TCP || handle instanceof process.binding('pipe_wrap').Pipe) { message.type = 'net.Native'; } else if (handle instanceof dgram.Socket) { message.type = 'dgram.Socket'; } else if (handle instanceof process.binding('udp_wrap').UDP) […]

如何在MongoDB地理空间中select查询中的字段?

我正在使用MongoDB Geospatial和node.js,并且表示查询特定点附近的最近街道。 在我的结果中,我只想select“名称”和“地址”的字段。 我试过下面的代码,但它不工作,我得到这个错误: “未处理的拒绝错误:无法使用$select与数组”。 谢谢。 Street.find({ 'location': { $near: { $geometry: { type: 'Point', coordinates: coords }, $maxDistance: 1000 }, $select: { _id: 0, name: 1, address: 1 } } })

MySQL数据存储的ExpressJS会话不起作用

我是NodeJS和ExpressJS的新手,并试图build立与MySQL数据存储的会话function。 我已经按照如何调用它的文档,但是在我运行命令后,req.session是未定义的。 我已经validation,我有一个活动连接到MySQL数据库和一个常见的cookie的秘密,当我实例化cookie和会话。 我没有得到任何错误,但这里是控制台debugging输出… terminal $ clear; DEBUG = express-mysql-session * npm start node-app@0.0.0启动node_app 节点./bin/www GET / login 200 7.458 ms – 249 express-mysql-session:log创build会话存储+ 0ms express-mysql-session:log设置默认选项+ 3ms POST / login 200 40.744 ms – 47 express-mysql-session:log设置到期时间间隔:900000ms + 7ms express-mysql-session:log清除到期间隔+ 0ms` 我尝试启用debugging时运行此… var pool = mysql.createPool(options); 我甚至没有看到一个查询甚至试图运行将会话添加到会话表。 这里是我的应用程序stream程:在我的main.js文件中,我捕获顶部的所有请求,并检查有效的会话,如果我没有find一个,我会显示login表单。 app.get('/*',function(req, res){ if (!req.session) { var login = […]

如何用安全的REST API开发一个安全的Node.js WebApp?

为Web用户创buildExpress/Passport WebApp并在一个项目中使用jsonwebtoken授权保护REST API是否是一个好习惯? 我现在有一个WebApp, local-passportlogin和一些HTML视图的受保护的端点。 我可以使用jsonwebtoken保护添加passport-local未受保护的REST端点,但使用两个不同的身份validation选项似乎是一种不好的做法。 这是我的第一个Node.js项目,所以我不知道。 没有更好的方法来创build我想创build的东西吗?