Articles of 路由器

在快速路线内,范围工作有些奇怪

我遇到以下问题:Express路由器中的optionsvariables没有使用正确的optionsvariables。 有什么build议么? router.use('/test1', new Factory("test1") ); router.use('/test2', new Factory("test2") ); function Factory(options) { router.use((req,res,next) => { res.json(options) }) return router }; /* Returns : /test1 "test1" /test2 "test1" ??? */

node.js – 与TCP服务器通信(数据== JSON)

我是node.js的新手,在上个周末深入了解了各种示例和小教程。 现在我想为我的局域网启动一个小项目,并有几个问题让我自己走向正确的方向。 build立: 我有我的局域网上运行的服务器服务。 可以通过TCP和/或HTTP(可以启用或禁用TCP或HTTP或两者都可以)在特定端口上与该服务进行通信,并通过JSON在请求上发送和接收数据。 我基本上想要做的是创build一个基于该服务的node.js的web界面,接收和发送来自该服务的webbrowser的JSON数据。 问题: 我已经知道如何设置一个基于node.js的http服务器。 但是现在我一直在想如何创build一个基于node.js的客户端,它位于服务和webbrowser客户端之间,通过客户端到服务器之间的数据,反之亦然。 像路由器或代理。 这是一个基于客户端(网页浏览器)观点的基本scheme: 发送:Webbrowser请求 – > node.js路由 – >服务接收 接收:Webbrowser收到< – node.js路由< – 服务响应 问题: – 转到TCP或HTTP? (也许禁用HTTP服务器将省去一些资源) – 也许已经回答了这个职位 – 有没有适合我需求的node.js包? – 去一个框架(expression式?)或平原node.js就够了? – 任何提示赞赏:) 编辑: – 是否有可能在node.js中绑定像eth0这样的networking设备,而不是定义IP地址? 感谢您的帮助和最好的问候 cefra

expression式/ Mongoose路由器:'投射到ObjectId失败的价值“未定义”的path“_id”

我在Express中有一个简单的API,允许用户将post标题“发布”并“删除”到MongoDB数据库中。 出于某种原因,当我添加一个post标题,然后“删除”它,我得到了“path”_id“未定义的”投向ObjectId失败的值“。 当我创buildpost后,我称之为“删除”,似乎“_id”不存在。 但是,当我刷新页面,然后单击“删除”,它获得“_id”完美罚款,并删除条目。 我在路由中做错了没有“_id”生成,并能立即从post中拉出? module.exports = function(router) { var Post = require('../models/post.js'); // middleware for the api requests router.use(function(req, res, next) { // do logging console.log('something is happening.'); next(); // make sure we go to our next route and don't stop here }); // test route to make sure everything is working (accessed at […]

app.use不工作expression4

我有一个非常简单的后端与一对夫妇的路线。 我想保持server.js文件之外的路由逻辑,但由于某种原因,当我做了一个POST请求的路由,它给了我一个404。 server.js // Call packages var express = require('express'); var bodyParser = require('body-parser'); var app = express(); var morgan = require('morgan'); var config = require('./config.js'); var mongoose = require('mongoose'); var path = require('path'); var mandrill = require('mandrill-api/mandrill'); var mandrill_client = new mandrill.Mandrill(config.mandrillApi); var favicon = require('serve-favicon'); // Set up morgan to log HTTP requests […]

为什么我的快递API不响应?

背景 我正在使用NodeJs v7testing一个简单的Hello World应用程序,并在cloud9中进行expression。 我试图让我的例子工作,但我失败了。 问题 我所有的cloud9configuration都很好,所以这不是问题。 问题是我的应用程序。 当我debugging,路线“api / v1 / HolaBananas”永远不会被调用,我不知道为什么! 甚至最糟糕的是,当我提出请求时,浏览器只是挂起,就像等待服务器的回答,永远不会到来! 码 index.js有初始化和启动代码。 对于我来说,为了模块化的原因,我保持与api.js分开是非常重要的。 index.js "use strict"; const express = require("express"); const app = express(); app.use("/api/v1", require("./api.js")); app.listen(process.env.PORT); console.log(`Server listening on port ${process.env.PORT}!`); api.js只包含路由和它们应该做的事情。 api.js "use strict"; const express = require("express"); module.exports = function() { const api = express.Router(); api.get("/HolaBananas", function(req, res){ […]

Express.js路由错误的路由

我有3个express.js路由 app.get('/packages/:name', (req, res) => {…}); app.get('/packages/search/', (req, res) => {…}); app.get('/packages/search/:name', (req, res) => {…}); 第一和第三条路线工作得很好。 但是第二条路线永远不会触发。 当我浏览到“localhost / packages / search /”时,它会触发第一条路线res.params.name = "search/" 我可以做一个“如果”来检查它的“search/”,但我不认为这是一个很好的解决scheme。 难道我做错了什么?

Expressjs。 从原型函数调用构造函数中的函数时,TypeError

我试图从原型调用构造函数中的函数,但不断得到下面的错误,我不知道什么是我的代码错了。 TypeError: this.authorize is not a function 这是我的代码:controller.js var Controller = function() { this.authorize = function(req, res) { if (!req.user) { res.redirect("/"); } }; }; Controller.prototype.online = function(req, res) { this.authorize(req, res); res.render('./play/online'); }; var controller = new Controller(); module.exports = controller; route.js var router = require('express').Router(); var controller = require('../controller'); router.get('/online', controller.online); module.exports = […]

路由器(代理)与NodeJS?

我想build立一个路由器来控制我的互联网访问(通过服务器的WLAN)。 只有less数几个网站(通过白名单/黑名单)应在特定的时间提供。 是否有任何路由/代理networking(http / s,ftp)和电子邮件(pop / imap / smtp)stream量的良好软件包?

路由器不能用于相同的模块。 没有错误

我正在尝试使用快速路由器为一个简单的项目,这里是我的主要app.js文件: "use strict"; const express = require("express"); const mongodb = require("mongodb"); const path = require("path"); const index = require("./routes/index"); const error = require(__dirname + "/routes/error"); const app = express(); app.set("view engine", "ejs"); app.use("/",index); app.use("/new",error); app.listen(4000); 这是我的索引文件,这是导出和渲染没有问题。 const express = require("express"); const router = express.Router(); router.get("/",function(req,res){ res.render("index"); }); module.exports = router; 这是我的错误文件,当你发送一个获取请求到“/新”,但它说“不能GET /新”,没有其他错误时,是遵循完全相同的逻辑。 请告诉我这里发生了什么事情。 const express […]

为什么node.js bodyParser总是返回'undefined'?

在'app.js'我有 var bodyParser = require('body-parser'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); 'index.js'完整的代码 var express = require('express'); var router = express.Router(); var mysql = require('mysql'); router.get('/', function(req, res, next) { res.render('index', { title: 'Here' }); }); router.post('/manager', function(req, res, next) { var connection = mysql.createConnection({ host : 'localhost', user : req.body.username, password : req.body.password, database : 'shops' […]