タグ付けされた質問 「express」

Expressは柔軟なNode.js Webアプリケーションフレームワークであり、Webアプリケーションを構築するための堅牢な機能セットを提供します。

6
Mocha API Testing:「TypeError:app.address is not a function」を取得する
私の問題 私は非常に単純な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を構築する必要があり、おそらく不要な機能を回避し、REST APIを構築するためのカスタム構築フレームワークのように機能する、express.jsよりも軽量のフレームワークを探していました。同じケースでは、イントロからのRestifyをお勧めします。 読み込み使用はrestifyと表現しないのはなぜ?restifyは良い選択のようです。 しかし、私が両方を負荷で試したとき、驚きは来ました。 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
passport.jsを使用したnode.jsでの認証後の前のページへのリダイレクト
node.js、express、passport.jsを使用してログインメカニズムを確立しようとしています。ログイン自体は非常にうまく機能し、セッションは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を使用して1つのユニットでルートをどのようにテストしますか?
私は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エクスプレス変換をログに記録するために使用します。 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 

2
Node.js + Express:ルートとコントローラー
Node.jsとExpressの新機能である、ルートとコントローラーという2つの概念が重複しているように見えることを理解しようとしています。 app.js + routes / *がシンプルな例を見てきたが、これは必要なさまざまなリクエストをルーティングするのに十分であるようだ。 ただし、コントローラーの使用について話している人や、より正式なMVCモデル(???)を暗示する人もいます。 誰かがこの謎を解くのを手伝ってくれるなら、そしてNode.js + Expressフレームワークでコントローラーをセットアップする良い例があれば素晴らしいでしょう! おかげで、
98 node.js  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({}) });
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' }); } …

16
Node.js / Express.jsアプリはポート3000でのみ機能します
サーバーで実行されているNode.js / Express.jsアプリがポート3000でのみ動作し、その理由を理解しようとしています。これが私が見つけたものです: ポート(app.listen())を指定しないと、アプリは実行されますが、Webページは読み込まれません。 ポート3001(app.listen(3001))または使用されていないその他のポートでは、アプリは実行されますが、Webページは読み込まれません。 他の何かがそのポートを使用しているため、ポート2999でアプリはエラーをスローします。 ポート3000でアプリが実行され、ウェブページが正常に読み込まれます。 Expressアプリはデフォルトでポート3000に設定されています。しかし、奇妙なことに、私のアプリは、明示的にポート3000(app.listen(3000))で実行させた場合にのみ実行されます。 私はこれを220行目で見つけました/usr/bin/express: app.set(\'port\', process.env.PORT || 3000); これは前述のとおりです。ポートを指定されたものに設定するか、何も指定されていない場合は3000に設定します。 8080や3001などの別のポートでアプリを動作させるにはどうすればよいですか? ありがとう! 編集:コードサンプル(非常に単純なノード/ Expressアプリ) var express = require("express"); var app = express(); app.get('/', function(req, res){ res.send('hello world'); }); // Only works on 3000 regardless of what I set environment port to or how I set [value] …

4
HerokuのExpress / Node.jsアプリケーションへのCORS RESTリクエストを許可する
ChromeのjsコンソールやURLバーなどからのリクエストに対して機能するnode.jsの高速フレームワークでREST APIを作成しました。別のアプリで、別のアプリからのリクエストに対して機能するようにしていますドメイン(CORS)。 javascriptフロントエンドによって自動的に作成された最初のリクエストは/ api / search?uri =に対するものであり、「プリフライト」OPTIONSリクエストで失敗しているようです。 私の高速アプリでは、次のコマンドを使用して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, "public"))); …
97 node.js  rest  heroku  express  cors 

3
変数をEJSでHTMLとしてレンダリングする
Node.js(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 …
97 node.js  express  ejs 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.