Tag: 表示

图像显示错误使用node.js和express.js

一旦我打开“本地主机:3000”,图像越来越下载到我的笔记本电脑,而不是显示在网页上,任何人都可以请帮我吗? var express= require('express'); var fs = require('fs'); var app= express(); var imgpath= 'C:\Users\Rohit\Downloads\images.jpg'; app.get('/',function(req,res){ res.send(fs.readFileSync(imgpath)); }); app.listen(3000); console.log('listening');

转发表示js路由到其他服务器

我正在写一个express.js应用程序,并想从另一台服务器的某些路由。 Express提供了一些以api.example.com/v1/*开头的路线。 我希望任何以/ad/hoc/开头的path被转发到另一个服务器,Express提供的响应,例如api.example.com/ad/hoc/endpoint.php将grampas-lamp-stack.example.com/ad/hoc/endpoint.php送到grampas-lamp-stack.example.com/ad/hoc/endpoint.php 。 我可以使用res.redirect来完成这个工作,但是我希望通过我的Express应用程序传输响应,并避免将浏览器redirect到另一个IP地址。 app.js var express = require('express'); var app = express(); app.get('/v1/users/:id', UserCtrl.get); app.get('/v1/users/search', UserCtrl.search); app.get('/ad/hoc/*', function(req, res) { res.redirect('http://grampas-lamp-stack.example.com' + req.url); } 我尝试search“代理请求明确”,但我不确定代理是否是我正在做的准确的术语。 如果这个话题还有一个更好的词,或者我想要完成的话,请告诉我。

`快速`应用程序 – 无法使用`邮递员'testing`发布`请求

我创build了一个小型express应用程序。 我只是想testingpost方法。 但它根本不工作。 根据我一切都很好。 但我没有弄清楚这个问题。 任何一个请帮我在这里? 我的server.js文件: var express = require('express'); var bodyParser = require('body-parser'); var Post = require('./models/post'); var app = express(); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); app.get('/api/posts', function( req, res) { res.json([ { username:"dickeyxxx", body : "node rocksxx" } ]) }); app.post('/api/posts', function( req, res, next) { var post = new Post({ username:req.body.username, […]

Node.js https pem错误:错误:0906D06C:PEM例程:PEM_read_bio:无起始行

我从证书颁发机构获得了这个文件: domain.com.p7b domain.com.crt domain.com.ca束 我试过这个小代码: var express = require('express'); var app = express(); var fs = require("fs"); var https = require('https'); var privateKey = fs.readFileSync('domain.com.p7b').toString(); var certificate = fs.readFileSync('domain.com.crt').toString(); var ca_bundle = fs.readFileSync('domain.com.ca-bundle').toString(); var credentials = { key: privateKey, ca : ca_bundle, cert: certificate}; https.createServer(credentials,app).listen(8080, function () { console.log('Example app listening on port 8080!'); }); […]

用Mocha和ChaitestingExpress和护照OAuth2

我有一个使用Express和Passport的应用程序。 我正在使用Passport的Google OAuth2策略。 我有几条路线需要通过这个策略login。 目前我正在使用Mocha和Chai进行集成testing,但是我不确定如何绕过或使用某些路由所需的OAuth2身份validation。 例如,这是我的一个testing: it("should list a single item on /items/<id> GET", function(done) { chai.request(server) .get('/items/' + id) .end(function(err, res) { res.should.have.status(200); res.should.be.json; res.body.should.be.a('object'); res.body.should.have.property('description'); done(); }); }); 我的路线为/items/:id router.get('/items/:id', auth.isLoggedIn, function(req, res) { var item = getItem(); res.json(item); }); /items/:id需要login。 有没有办法绕过logintesting,或嘲笑一个用户,我的集成testing将工作?

如何将字段名称传递到Mongoose的update()方法?

我想更新dataToChange对象中包含的每个字段,但由于某种原因,我不能将密钥名称传递到update(),我的意思是该方法不会从外部拿起它,它正在数据库的对象中寻找“key”字段。 我该怎么做? 我试图使用${key} ,但它被认为是一个错误。 changeUserInfoFashion = function (id, dataToChange, res, callback) { //var id = id; _.forIn(dataToChange, function (value, key) { key.toString(); console.log('I AM GOING TO UPDATE ' + key + " WITH " + value); User.update( {"_id": id}, //Here I need to pass key –> {key: value}, function (err, results) { console.log(results); if (err) […]

将节点JS的值传递给Jade

我正在尝试从节点js的参数转移到我的Jade页面中的input标记,这里是我的代码: 节点js: res.render("index" ,{title: userName}); 翡翠页(叫'索引'): .input input(type='text', value= #{title} , maxlength='15') 我在这里做错了什么? 这是我的错误信息: 48 | input(type ='text',value =#{title},maxlength = '15') Function(native)意外的标记ILLEGAL `

快递,听多重路线

我正在build立一个基于快速的REST API,我想提醒用户,当他使用错误的HTTP动词的请求。 目前,我正在添加 app.all('/', (req, res) => { answer(req, res, {code: 400, error: 'Wrong method'}); }); 在每条路线之后,它开始是不可疏忽的,我宁愿把它放在一个地方,列出所有我想听的路线。 有没有办法做到这样的事情: app.all(['/', '/signup', '/login'], (req, res) => { answer(req, res, {code: 400, error: 'Wrong method'}); }); 所以我只有一个失败点,而不是必须检查每一个路线?

节点Express每个路由的特定超时值

我正在使用Express v4.13.4开发Node v4.2.4应用程序。 现在我想增加特定上传路由的超时时间。 从我读过的和经历过的 默认的节点服务器超时是2分钟 节点套接字默认没有超时 有Express的中间件来处理超时 但是,在尝试实现上传路由的连接超时中间件时,我迷路了。 应用程序设置 const app = express(); app.use(cors()); app.use(bodyParser.json({ limit: '50mb' })); app.use(bodyParser.urlencoded({ limit: '50mb', extended: false })); app.use(passport.initialize()); app.use('/uploads', uploadRoutes); app.use(errorHandler); function errorHandler(err, req, res, next) { if (err.code && err.code === 'ETIMEDOUT') { if (!res.headersSent) { res .status(408) .send({ success: true, message: 'Timeout error' }); } […]

TypeError:req.checkBody不是一个函数

我试图在注册系统中实现一些validation,但我得到的错误: TypeError: req.checkBody is not a function 从下面的代码: module.exports = function(app, express) { var express = require('express'); var api = express.Router(); // post users to database api.post('/signup', function(req, res) { var email = req.body.email; var password = req.body.password; var password2 = req.body.password2; var key = req.body.key; // Validation req.checkBody('email', 'Email is required.').notEmpty(); req.checkBody('email', 'Email is […]