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

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

3
Node.jsで複雑なJSON応答を返す方法は?
nodejsとexpressを使用して、JSONを使用して1つまたは複数のオブジェクト(配列)を返したいと思います。以下のコードでは、一度に1つのJSONオブジェクトを出力します。それは機能しますが、これは私が望んでいるものではありません。多くのオブジェクトがあるため、生成された応答は有効なJSON応答ではありません。 すべてのオブジェクトを配列に追加して、その特定の配列をres.endに返すことができることはよく知っています。ただし、これは処理が重くなり、メモリを大量に消費する可能性があると思います。 nodejsでこれを達成するための適切な方法は何ですか?query.eachは呼び出すのに適切なメソッドですか? app.get('/users/:email/messages/unread', function(req, res, next) { var query = MessageInfo .find({ $and: [ { 'email': req.params.email }, { 'hasBeenRead': false } ] }); res.writeHead(200, { 'Content-Type': 'application/json' }); query.each(function(err, msg) { if (msg) { res.write(JSON.stringify({ msgId: msg.fileName })); } else { res.end(); } }); });

3
express.jsの「app.render」と「res.render」の違いは何ですか?
のドキュメントapp.render: レンダリングされた文字列で応答するコールバックを使用してビューをレンダリングします。これはのアプリレベルのバリアントでres.render()あり、それ以外は同じように動作します。 のドキュメントres.render: レンダリングされた文字列で応答するコールバックを使用してビューをレンダリングします。エラーが発生するnext(err)と、内部で呼び出されます。コールバックが提供されると、発生する可能性のあるエラーとレンダリングされた文字列の両方が渡され、自動応答は実行されません。 どのタイミングをいつ使用するかをどのように判断できますか?
82 node.js  express 

3
オブジェクトIDの配列を使用してマングーススキーマを作成するにはどうすればよいですか?
マングースのユーザースキーマを定義しました。 var userSchema = mongoose.Schema({ email: { type: String, required: true, unique: true}, password: { type: String, required: true}, name: { first: { type: String, required: true, trim: true}, last: { type: String, required: true, trim: true} }, phone: Number, lists: [listSchema], friends: [mongoose.Types.ObjectId], accessToken: { type: String } // …

7
Express.jsルーティング:オプションのスプラットパラメータ?
私は次のようなルートを持っています: app.all('/path/:namedParam/*splat?',function(req,res,next){ if(!req.params.length){ // do something when there is no splat } else { // do something with splat } }); ただし、これは機能しません。path/foo/bar電話をかけるとルートにヒットしますが、電話をかけるpath/fooと機能しません。 オプションのスプラットパラメータを持つことは可能ですか、それともこれを検出するために正規表現を使用する必要がありますか? 編集: より明確にするために、これが私が達成しようとしている要件です: 最初と2番目のパラメータが必要です 最初のパラメータは静的で、2番目は名前付きパラメータです。 オプションの追加パラメータをいくつでも追加して、ルートにヒットすることができます。
82 node.js  express 

8
Express / Node.JSを使用して、すべてのビューでアクセス可能なグローバル変数を作成するにはどうすればよいですか?
さて、私はJekyllを使用してブログを_config.yml作成しました。すべてのテンプレート/レイアウトでアクセスできる、ファイル内の変数を定義できます。私は現在、EJSテンプレートとejs-localsでNode.JS / Expressを使用しています(パーシャル/レイアウト用。Jekyllに精通している人がいる場合に見られるようなグローバル変数と同様のことをしたいと思っています。サイトのタイトル(ページタイトルではなく)、作成者/会社名。これらはすべてのページで同じです。site.title_config.yml これが私が現在していることの例です。 exports.index = function(req, res){ res.render('index', { siteTitle: 'My Website Title', pageTitle: 'The Root Splash Page', author: 'Cory Gross', description: 'My app description', indexSpecificData: someData }); }; exports.home = function (req, res) { res.render('home', { siteTitle: 'My Website Title', pageTitle: 'The Home Page', author: 'Cory Gross', description: …

27
127.0.0.1:27017への接続に失敗しました。理由:errno:111接続が拒否されました
ubuntuでこのmongoコマンドを試しているときに、このエラーが発生します。 ritzysystem@ritzysystem-Satellite-L55-A:~$ mongo MongoDB shell version: 2.6.1 connecting to: test 2014-10-06T12:59:35.802+0530 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused 2014-10-06T12:59:35.802+0530 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146 exception: connect failed どうすればこれを修正できますか?誰もが同じ問題を抱えていました。


6
Jade-テンプレートエンジン:変数が存在するかどうかを確認する方法
私は現在、新しいプロジェクトでJadeを使用しています。ページをレンダリングして、特定の変数が使用可能かどうかを確認したいと思います。 app.js: app.get('/register', function(req, res){ res.render('register', { locals: { title: 'Register', text: 'Register as a user.', } }); }); register.jade: - if (username) p= username - else p No Username! 私は常に次のエラーを受け取ります: username is not defined これを修正する方法について何かアイデアはありますか?
80 node.js  pug  express 

4
Node.jsアプリケーションの承認アプローチとデザインパターン[クローズ]
クローズ。この質問はもっと焦点を合わせる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てるようにします。 2年前に閉鎖されました。 この質問を改善する 社内のエンタープライズソフトウェアプラットフォーム用に複数ページの管理インターフェイスを構築しています。さまざまなAPI、データベースクエリ、シェルスクリプトを結び付けるグルーロジックをたくさん考えてみてください。 認証には、node.js、Expressフレームワーク(jadeテンプレートを含む)、およびLDAPを使用します。 ノードアプリケーションでの承認のデザインパターンとベストプラクティスに関する情報を見つけるのに苦労しています。できれば、ユーザーがそのアプローチとそのケアと給餌に精通しているので、ロールベースのモデルを使用したいと思います。 私はnode.jsを初めて使用するので、モジュールや人気のあるブログ投稿をすでに見たことがあると思い込まないでください。情報が豊富で、どこを見ればいいのかわからない可能性があります。 あなたが提供することができるどんな情報にも前もって感謝します!

8
ハンドルバー:親の「独自のプロパティ」ではないため、プロパティ「from」を解決するためのアクセスが拒否されました
ハンドルバーを使用したサーバー側レンダリングでNodejsバックエンドを使用しています。docハンドルバーからオブジェクトの配列を読み込んだ後、キー「コンテンツ」と「from」を含みます ただし、を使用#eachしてオブジェクトの配列をループしようとすると、「ハンドルバー:親の「独自のプロパティ」ではないため、プロパティ「from」を解決するためにアクセスが拒否されました」というエラーが表示されます。 私はdoc配列でフェッチしたデータをconsole.log()しようとしましたが、すべて問題ありません。 いくつかの見方をすると、これはマングースクエリ です。res.render引数内にキーとしてオブジェクトドキュメントを追加しました。 Confession.find() .sort({date: -1}) .then(function(doc){ for(var i=0; i < doc.length; i++){ //Check whether sender is anonymous if (doc[i].from === "" || doc[i].from == null){ doc[i].from = "Anonymous"; } //Add an extra JSON Field for formatted date doc[i].formattedDate = formatTime(doc[i].date); } res.render('index', {title: 'Confession Box', success:req.session.success, errors: …

2
カスタムエンドポイントで既存のAPIを拡張する
複数のお客様向けのAPIを作成しています。のようなコアエンドポイント/usersはすべてのお客様が使用しますが、一部のエンドポイントは個別のカスタマイズに依存しています。したがって、ユーザーAが特別なエンドポイントを必要/groupsとしており、他の顧客がその機能を持たない可能性があります。補足として、これらの追加機能のために、各顧客は自分のデータベーススキーマも使用します。 私は個人的にNestJ(内部ではExpress)を使用しています。したがって、app.module現在すべてのコアモジュールが登録されています(独自のエンドポイントなどで) import { Module } from '@nestjs/common'; import { UsersModule } from './users/users.module'; // core module @Module({ imports: [UsersModule] }) export class AppModule {} この問題はNestJとは関係がないと思うので、理論的にはどのように対処しますか? 基本的に、基本的なシステムを提供できるインフラストラクチャが必要です。各拡張は一意であり、複数の/users実装が可能であるため、コアエンドポイントはもうありません。新しい機能を開発するときは、コアアプリケーションに触れないでください。拡張機能はそれ自体を統合するか、起動時に統合する必要があります。コアシステムはエンドポイントなしで出荷されますが、これらの外部ファイルから拡張されます。 いくつかのアイデアが思い浮かびます 最初のアプローチ: 各拡張機能は新しいリポジトリを表します。すべての拡張プロジェクトを保持するカスタム外部フォルダーへのパスを定義します。このカスタムディレクトリにはgroups、groups.module import { Module } from '@nestjs/common'; import { GroupsController } from './groups.controller'; @Module({ controllers: [GroupsController], }) export class GroupsModule {} …


3
エラー:<プロジェクトフォルダへのパス> / node_modules / @ babel / helper-compilation-targets 'のパッケージエクスポートは'。 'を定義していません サブパス
新しいプロジェクトフォルダーを作成し、次のコマンドを実行しました。 npm init npm install express npm install express-react-views react react-dom 高速インポートされたindex.jsとサンプルjsxファイルのビューを作成しました。localhostで実行すると、次のエラーが発生します。 Error: Package exports for '&lt;path_to_project_folder&gt;/node_modules/@babel/helper-compilation-targets' do not define a '.' subpath at applyExports (internal/modules/cjs/loader.js:485:15) at resolveExports (internal/modules/cjs/loader.js:508:12) at Function.Module._findPath (internal/modules/cjs/loader.js:577:20) at Function.Module._resolveFilename (internal/modules/cjs/loader.js:879:27) at Function.Module._load (internal/modules/cjs/loader.js:785:27) at Module.require (internal/modules/cjs/loader.js:956:19) at require (internal/modules/cjs/helpers.js:74:18) at Object.&lt;anonymous&gt; (&lt;path_to_project_folder&gt;/node_modules/@babel/preset-env/lib/debug.js:8:33) at Module._compile (internal/modules/cjs/loader.js:1063:30) …

3
「npm ERR!errdb 3221225477」oracledbを使用してクエリを実行するとノードでエラーが発生する
これはコマンドラインのエラー自体です: npm ERR! code ELIFECYCLE npm ERR! errno 3221225477 npm ERR! versioncenter@0.0.1 start: `node ./bin/www` npm ERR! Exit status 3221225477 npm ERR! npm ERR! Failed at the versioncenter@0.0.1 start script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A …

2
CookieとSameSite +セキュア-ExpressJS
Expressアプリケーションで次の設定を行っているにもかかわらず、コンソールに次の警告が表示されています。誰かが以前にこのエラーを見たことがありますか?検索した結果、https://github.com/expressjs/express/issues/3095にアクセスしました 私はエクスプレスも使用しています:4.17.1 let COOKIE_OPTIONS = { httpOnly: true, sameSite: 'None', secure: true }; A cookie associated with a cross-site resource at http://MYURL.URL was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.