Questions tagged «express»

Express是一个灵活的Node.js Web应用程序框架,为构建Web应用程序提供了一组强大的功能。

6
Mocha API测试:收到“ TypeError:app.address不是函数”
我的问题 我已经编写了一个非常简单的CRUD API,并且最近开始使用编写了一些测试代码chai,chai-http但是使用进行测试时遇到了问题$ mocha。 当我运行测试时,在外壳上出现以下错误: TypeError: app.address is not a function 我的密码 这是我的一项测试(/tests/server-test.js)的示例: var chai = require('chai'); var mongoose = require('mongoose'); var chaiHttp = require('chai-http'); var server = require('../server/app'); // my express app var should = chai.should(); var testUtils = require('./test-utils'); chai.use(chaiHttp); describe('API Tests', function() { before(function() { mongoose.createConnection('mongodb://localhost/bot-test', myOptionsObj); …

8
如何在node.js的express.js框架中启用跨域资源共享(CORS)
我正在尝试在node.js中构建Web服务器,该服务器将支持跨域脚本编写,同时仍从公共目录中提供静态文件。我正在使用express.js,但我不确定如何允许跨域脚本(Access-Control-Allow-Origin: *)。 我看到了这篇文章,但对我没有帮助。 var express = require('express') , app = express.createServer(); app.get('/', function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); next(); }); app.configure(function () { app.use(express.methodOverride()); app.use(express.bodyParser()); app.use(app.router); }); app.configure('development', function () { app.use(express.static(__dirname + '/public')); app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); }); app.configure('production', function () { var oneYear …

5
为什么要使用Restify?
我需要在node.js中构建REST API,并且正在寻找一个比express.js更轻巧的框架,这可能避免了不需要的功能,并且会像构建REST API的自定义框架一样工作。对于相同的情况,建议从其介绍中重新调整。 阅读为什么使用重整而不表达?似乎重新调整是一个不错的选择。 但是当我尝试了两个负载时,惊喜就来了。 我在Restify上制作了一个示例REST API,并以每秒1000个请求的速度充斥了它。令我惊讶的是,一段时间后,该路线开始没有反应。基于express.js构建的同一个应用程序可以处理所有问题。 我目前正在通过以下方式将负载应用于API var FnPush = setInterval(function() { for(i=0;i<1000;i++) SendMsg(makeMsg(i)); }, 1000); function SendMsg(msg) { var post_data = querystring.stringify(msg); var post_options = { host: target.host, port: target.port, path: target.path, agent: false, method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': post_data.length, "connection": "close" } }; var post_req …
101 node.js  express  restify 


7
使用password.js在node.js中进行身份验证后重定向到上一页
我正在尝试使用node.js,express和passport.js建立登录机制。Login本身工作得很好,会话也可以很好地存储在redis上,但是在提示用户进行身份验证之前,将用户重定向到他从那里开始时确实存在一些麻烦。 例如,用户跟随链接http://localhost:3000/hidden,然后重定向到,http://localhost:3000/login但是我希望他再次重定向回http://localhost:3000/hidden。 这样做的目的是,如果用户随机访问需要首先登录的页面,则应将其重定向到提供其凭据的/ login站点,然后再重定向回他先前尝试访问的站点。 这是我的登录信息 app.post('/login', function (req, res, next) { passport.authenticate('local', function (err, user, info) { if (err) { return next(err) } else if (!user) { console.log('message: ' + info.message); return res.redirect('/login') } else { req.logIn(user, function (err) { if (err) { return next(err); } return next(); // <-? …

8
如何使用Express测试一个单元的路由?
我正在学习Node.js,并且一直在玩Express。真的很像框架;但是,我很难弄清楚如何为路由编写单元/集成测试。 能够对简单的模块进行单元测试很容易,并且已经通过Mocha完成了;但是,由于我传递的响应对象未保留值,因此使用Express进行的单元测试失败。 待测路由功能(routes / index.js): exports.index = function(req, res){ res.render('index', { title: 'Express' }) }; 单元测试模块: var should = require("should") , routes = require("../routes"); var request = {}; var response = { viewName: "" , data : {} , render: function(view, viewData) { viewName = view; data = viewData; } …
99 node.js  express 

5
Node.js-日志记录/使用Morgan和Winston
我们用于morgan记录快速转换: var morgan = require('morgan'); morgan('combined'); // a format string morgan(':remote-addr :method :url :uuid'); // a custom function morgan(function (req, res) { return req.method + ' ' + req.url + ' ' + req.uuid; }) 另外,我们winston为了记录其他日志记录而使用: var winston = require('winston'); var logger = new (winston.Logger)({ transports: [ new (winston.transports.Console)({ level: …

5
要求文件为字符串
我正在使用node + express,我只是想知道如何将任何文件导入为字符串。可以说我有一个txt文件,我想要的只是将其加载到这样的变量中。 var string = require("words.txt"); 我反对 modules.exports = function(){ var string = "whatever"; return string; }

3
express.json与bodyParser.json
我正在编写一个相对较新的应用程序,想知道应该使用哪个应用程序: express.json() 要么 bodyParser.json() 我可以假设他们做同样的事情。 我只想使用express.json()它,因为它已经内置。
99 json  express 

8
Express.js req.ip返回:: ffff:127.0.0.1
我目前正在尝试获取所请求用户的IP。问题是IP正在返回,::ffff:127.0.0.1而不是127.0.0.1。我尝试使用trusted proxy选项(尽管未使用代理),但req.ips为空。使用4.x Express.js。 router.get('/', function(req, res, next) { console.log('ip', req.ip) res.send({}) });
99 node.js  express 

2
Node.js + Express:路由与控制器
我是Node.js和Express的新手,我试图理解这两个似乎是重叠的概念,即路由与控制器。 我看过一些简单的例子,app.js + route / *似乎足以路由所需的各种请求。 但是,我也看到有人在谈论使用控制器,有些暗示了更正式的MVC模型(???)。 如果有人可以帮助我消除这个谜团,并且如果您有一个在Node.js + Express框架中设置控制器的好例子,那就太好了! 谢谢,
98 node.js  express 

2
使用PassportJS,如何将其他表单字段传递给本地身份验证策略?
我使用passportJS,我想提供的不仅仅是更多的req.body.username和req.body.password我的身份验证策略(护照本地)。 我有3个表单字段:username,password,和foo 我如何req.body.foo从本地策略访问,该策略如下所示: passport.use(new LocalStrategy( {usernameField: 'email'}, function(email, password, done) { User.findOne({ email: email }, function(err, user) { if (err) { return done(err); } if (!user) { return done(null, false, { message: 'Unknown user' }); } if (password != 1212) { return done(null, false, { message: 'Invalid password' }); } …

3
在EJS中将变量呈现为HTML
我正在使用Node.js的Forms库(Forms),它将在后端为我呈现一个表单: var signup_form = forms.create({ username: fields.string({required: true}) , password: fields.password({required: true}) , confirm: fields.password({ required: true , validators: [validators.matchField('password')] }) , email: fields.email() }); var signup_form_as_html = signup_form.toHTML(); 最后一行var signup_var signup_form_as_html = signup_form.toHTML();创建一个HTML块,如下所示: <div class="field required"><label for="id_username">Username</label><input type="text" name="username" id="id_username" /></div><div class="field required"><label for="id_password">Password</label><input type="password" name="password" id="id_password" /></div><div class="field …
98 node.js  express  ejs 

5
允许对Heroku上的Express / Node.js应用程序进行CORS REST请求
我已经在用于node.js的快速框架上编写了REST API,该API可以处理来自Chrome中的js控制台的请求以及URL栏等。域(CORS)。 由javascript前端自动发出的第一个请求是对/ api / search?uri =的,并且似乎对“预检” OPTIONS请求失败。 在我的express应用中,我使用以下方法添加了CORS标头: var allowCrossDomain = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With'); // intercept OPTIONS method if ('OPTIONS' == req.method) { res.send(200); } else { next(); } }; 和: app.configure(function () { app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(allowCrossDomain); app.use(express.static(path.join(application_root, …
97 node.js  rest  heroku  express  cors 

4
会话如何在Express.js和Node.js中工作?
使用Express.js,会话非常简单。我很好奇它们实际上是如何工作的。 它会在客户端上存储一些cookie吗?如果是这样,我在哪里可以找到该Cookie?如果需要,如何解码? 我基本上希望能够查看用户是否登录,即使该用户当时实际上不在该站点上(例如,当您在其他站点上时,facebook如何知道您已登录)。但是我想了解的是,我应该首先了解会议的工作方式。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.