Tag: 表示

自动将parameter passing给res.render nodejs

说我想排除或包括布局参数到我的路线,但我有超过50条路线,我必须做到这一点,每一个res.render。 if(req.headers['something']){ res.render('index',{'layout':false}) }else{ res.render('index') } 当我必须通过其他参数的某些路线时,这是一个痛苦。 有什么办法可以使用中间件来解决这个问题吗? router.use(function(req,res,next){ console.log(req.headers['something']); // if true auto add layout object to every single res.render() next(); });

如何使用react-router 2来设置服务器端渲染

我想移植我的应用程序,从1.0反应路由器2.0。 我正在尝试做快递服务器端渲染。 server.js代码(1.0)(工作) var routes = require('./public/js/app.node.js'); app.get('*', function(req, res, next) { var location = new Location(req.path, req.query); try { Router.run(routes(), location, function(e, i, t) { var str = React.renderToString( React.createElement(Router, i)); }); } catch(e) { return next(); } }); server.js代码(2.0)(不工作) var routes = require('./public/js/app.node.js'); app.get('*', function(req, res, next) { var location = new Location(req.path, […]

NodeJS,自定义Content-Type给出空的主体

我在使用“application / vnd.api + json”作为NodeJS express app中的内容types时遇到了麻烦。 我的应用包含: const app = express(); app.use(bodyParser.json({ type: 'application/vnd.api+json' })); app.use(bodyParser.urlencoded({ extended: true })); 发送标题为“Content-Type:application / vnd.api + json”的请求和一些json会产生一个空的req.body和undefined req.text。 通过“ Content-Type:application / json”发送相同的请求可以正常工作。 也试着用app.use(bodyParser.json({ type: 'application/*+json' })); 我错过了什么?

用于file upload的JWT令牌和Multer(节点)

我需要一些帮助,弄清楚如何使这个工作 – 我已经testing,并有我的'/用户'路线JWT身份validation和SSL工作。 我试图安全地允许用户上传audio文件,也使用JWT和SSL路由。 authentication中间件工作,而multer工作,让我上传文件,当我注销authentication中间件。 但是,当我离开中间件时,上传的文件是在我的系统上创build的,但文件无法正确上传,我得到一个404错误。 谢谢你的帮助! server.js(主文件) var express = require('express') , app = express() , passport = require('passport') , uploads = require('./config/uploads').uploads , user_routes = require('./routes/user') , basic_routes = require('./routes/basic') , jwt = require('jwt-simple'); // get our request parameters app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); // Use the passport package in our application app.use(passport.initialize()); […]

将NodeJs Express Rest API部署到Windows 10 IoT

节点noob,Windows 10物联网noob,高级.net开发在这里。 我已经能够获得一些样本,甚至可以通过一个nodejs服务器控制一个面包板上的led。 我正在使用最新的脉轮核心文件,并在我的开发机器上安装了所有的软件包,非常干净。 我猜测它无法安装在packages.json文件中指定的包,这里是摘录: “express”:“〜4.0.0”,“morgan”:“〜1.0.0”,“mongoose”:“〜3.6.13”,“body-parser”:“〜1.0.1” 如果是这样的软件包,那么如何将软件包部署到nodejs应用程序中去呢? 我认为只是将应用程序复制到iot设备并手动启动,没有运气。 我也需要允许我与gpio接口代码的ms程序集。 我现在试图得到一个简单的restAPI到Windows 10 IOT,并有一些麻烦。 我遵循这个教程 ,如果我在我的机器上使用非通用Windows模板,它的工作。 但是,当我尝试使用此模板(基本Node.js快速4应用程序(通用Windows)),并将其设置为相同的应用程序,应用程序部署,但debugging器失败,查看Windows 10的debugging部分IOT设备,我有以下:报告签名 软件包全名:test.iot.nodejs.express.njsproj_1.0.0.0_arm__b4gtp05xzgr10应用程序名称:praid:应用程序应用程序版本:10.0.10586.63应用程序时间戳:568b3d9f故障模块名称:ucrtbase.dll故障模块版本:10.0.10586.63故障模块时间戳:568b34ebexception偏移:000351edexception代码:c0000409exception数据:00000005 EventTime 2016年1月26日下午10点22分17秒 链接到沃森水桶 133280376927 FriendlyEventName 停止工作 AppName的 test.iot.nodejs.express.njsproj_b4gtp05xzgr10!应用 APPPATH C:\ WINDOWS \ SYSTEM32 \ backgroundTaskHost.exe

Express JS无法PUT / DELETE

项目结构 .app.js .routes/ ….resources.js 我有以下服务器实例运行: app.js "use strict"; const app = require('express')(); const resources = require('./routes/resources'); app.use('/', resources); const server = app.listen('3000', () => { let host = server.address().address; host = (host == '::' ? 'localhost' : host); const port = server.address().port; // log it console.log('listening at http://%s:%s', host, port); }); 我有GET和POST请求工作(routes / resources.js)罚款即 "use […]

cookie不会在第一次请求时发送

我在我的server.js express应用程序上有下面的代码: var express = require('express'); var fallback = require('express-history-api-fallback'); var compress = require('compression'); var favicon = require('serve-favicon'); var prerenderio = require('prerender-node'); var config = require('getconfig'); var app = express(); app.use(function (req, res, next) { if (config.environment !== 'local') { res.cookie('config', JSON.stringify(config), { secure: true }); } else { res.cookie('config', JSON.stringify(config)); } next(); }); app.get('/versioncheck', […]

node.js和URL端点中的多个路由

app.use('/api', require('./api')); app.use('/', require('./cms')); 第一个路线是我的公共API,第二个是cms仪表板。 但是这不起作用,因为localhost:80 / api也会加载第二条路线。 如何解决这个问题? 我知道我可以做app.use('/cms', require('./cms')); 但是路由将是localhost:80 / cms / blog这对我来说不好。

在加载网页时,节点js:Express + ssh2不重置我的数据结构

显示用户发送到集群的作业我有以下代码(简化): var split = require('split'); var Client = require('ssh2').Client; var conn = new Client(); var globalRes; var table = [["Head_1","Head_2"]]; module.exports = { renderTable: function(req, res) { conn.connect({host: 'xx.xx.xx.xx', port: 22, username: 'xxxxx', password: 'xxxxx'}); globalRes = res; table = [["Head_1","Head_2"]]; conn.on('ready', function() { conn.shell(doSomething);} ); } } function doSomething(err, stream) { stream.on('close', function() { […]

Fullcalendar Angular / Node.JS http请求:TypeError:将循环结构转换为JSON(在Object.stringify处)

我试图通过在fullcalendar下拉事件的http调用进行更新,但得到“TypeError:在Object.stringify(native)转换循环结构为JSON”错误。 这是客户端代码: drop: function() { $scope.schedule.tmpevents = $scope.schedule.events; $http.put('/api/schedules/updatetemp/' + $scope.schedule._id, $scope.schedule).success(function(){ alert("temp schedule updated"); }); }, 服务器端代码: exports.updatetemp = function(req, res) { Schedule.update({_id: req.params.scheduleid}, {$set: {tmpevents: req.body.tmpevents}}, function(err, result){ if (err) { console.log(err); return handleError(res, err); } return res.status(200).json(result); }); }; 当我在更新button点击之后调用它时,它的工作原理非常相似,它更新了临时事件,但是当我在函数结束时调用它时,但是当它从fullcalendar的放置事件中调用时,它会发出此错误。 我感谢任何帮助..