คำถามติดแท็ก express

Express เป็นเฟรมเวิร์กเว็บแอ็พพลิเคชัน Node.js ที่ยืดหยุ่นซึ่งจัดเตรียมชุดคุณลักษณะที่มีประสิทธิภาพสำหรับการสร้างเว็บแอ็พพลิเคชัน

5
Express-js wildcard การกำหนดเส้นทางเพื่อครอบคลุมทุกสิ่งที่อยู่ภายใต้และรวมถึงเส้นทาง
ฉันพยายามมีเส้นทางเดียวที่ครอบคลุมทุกอย่างภายใต้/fooรวมถึง/fooตัวมันเอง ฉันได้พยายามใช้/foo*ที่ทำงานสำหรับทุกอย่างยกเว้น/fooมันไม่ตรงกับ สังเกต: var express = require("express"), app = express.createServer(); app.get("/foo*", function(req, res, next){ res.write("Foo*\n"); next(); }); app.get("/foo", function(req, res){ res.end("Foo\n"); }); app.get("/foo/bar", function(req, res){ res.end("Foo Bar\n"); }); app.listen(3000); ผลลัพธ์: $ curl localhost:3000/foo Foo $ curl localhost:3000/foo/bar Foo* Foo Bar ตัวเลือกของฉันคืออะไร? สิ่งที่ดีที่สุดที่ฉันคิดขึ้นมาคือการกำหนดเส้นทาง/fo*ซึ่งแน่นอนว่ามันไม่ดีที่สุดเพราะมันจะเข้ากันมาก
97 node.js  express 

4
เซสชันทำงานใน Express.js กับ Node.js อย่างไร
การใช้Express.jsเซสชันนั้นง่ายมาก ฉันอยากรู้ว่าพวกเขาทำงานอย่างไร มันเก็บคุกกี้ไว้บนไคลเอนต์หรือไม่? ถ้าเป็นเช่นนั้นฉันจะหาคุกกี้ได้ที่ไหน หากจำเป็นฉันจะถอดรหัสได้อย่างไร โดยพื้นฐานแล้วฉันต้องการดูว่าผู้ใช้เข้าสู่ระบบหรือไม่แม้ว่าผู้ใช้จะไม่ได้อยู่บนไซต์จริงในขณะนั้น (เช่น facebook รู้ได้อย่างไรว่าคุณเข้าสู่ระบบเมื่อคุณอยู่ในไซต์อื่น) แต่ฉันควรเข้าใจว่าฉันควรเข้าใจก่อนว่าเซสชันทำงานอย่างไร

9
socket.io และ session?
ฉันใช้เฟรมเวิร์กด่วน ฉันต้องการเข้าถึงข้อมูลเซสชันจาก socket.io ฉันลองใช้ dynamicHelpers ด่วนกับข้อมูล client.listener.server.dynamicViewHelpers แต่ไม่สามารถรับข้อมูลเซสชันได้ มีวิธีง่ายๆในการทำเช่นนี้หรือไม่? โปรดดูรหัส app.listen(3000); var io = require('socket.io'); var io = io.listen(app); io.on('connection', function(client){ // I want to use session data here client.on('message', function(message){ // or here }); client.on('disconnect', function(){ // or here }); });

9
อัปโหลดไฟล์ Node / Express
ฉันใช้โหนด v0.10.26 และ Express v4.2.0 และฉันค่อนข้างใหม่สำหรับโหนด ฉันเอาหัวโขกโต๊ะทำงานเป็นเวลาสามชั่วโมงที่ผ่านมาพยายามหาแบบฟอร์มการอัปโหลดไฟล์ที่ทำงานกับโหนด ณ จุดนี้ฉันแค่พยายามรับ req.files เพื่อไม่ให้ส่งคืนไม่ได้กำหนด มุมมองของฉันมีลักษณะเช่นนี้ <!DOCTYPE html> <html> <head> <title>{{ title }}</title> <link rel='stylesheet' href='/stylesheets/style.css' /> </head> <body> <h1>{{ title }}</h1> <p>Welcome to {{ title }}</p> <form method='post' action='upload' enctype="multipart/form-data"> <input type='file' name='fileUploaded'> <input type='submit'> </form> </body> </html> นี่คือเส้นทางของฉัน var express = require('express'); …

6
MongoDB เลือกตำแหน่งของ _id?
เป็นไปได้ใน mongo db เพื่อเลือกเอกสารของคอลเลกชันเช่นใน SQL: SELECT * FROM collection WHERE _id IN (1,2,3,4); หรือถ้าฉันมี_id arrayฉันต้องเลือกทีละรายการแล้วจัดองค์ประกอบarray/objectของผลลัพธ์ใหม่?

12
การเพิ่มการประทับเวลาลงในข้อความคอนโซลทั้งหมด
ฉันมีโปรเจ็กต์ Express-based ที่สมบูรณ์ใช้งานได้พร้อมคำสั่ง console.log () และ console.error () มากมายตลอด โปรเจ็กต์ทำงานโดยใช้ตลอดไปโดยกำหนดให้ stdout และ stderr เป็น 2 ไฟล์แยกกัน ทุกอย่างทำงานได้ดี แต่ตอนนี้ฉันไม่มีการประทับเวลา - เพื่อให้ทราบว่าเกิดข้อผิดพลาดเมื่อใด ฉันสามารถค้นหา / แทนที่บางประเภทได้ตลอดทั้งรหัสของฉันหรือใช้โมดูล npm บางอย่างที่แทนที่คอนโซลในแต่ละไฟล์ แต่ฉันไม่ต้องการสัมผัสไฟล์โมเดล / เส้นทางทุกอย่างเว้นแต่ฉันจะต้องทำอย่างนั้น มีวิธีใดบ้างที่อาจเป็นมิดเดิลแวร์ของ Express ที่ช่วยให้ฉันสามารถเพิ่มการประทับเวลาในทุกครั้งที่โทรได้หรือฉันต้องเพิ่มด้วยตนเอง

8
ใช้ socket.io ใน Express 4 และ express-generator's / bin / www
นี่คือข้อตกลง: ฉันกำลังพยายามใช้ socket.io ในโครงการด่วน หลังจากที่ Express Js 4 ถูก lauched ฉันได้อัปเดตโปรแกรมสร้างด่วนของฉันและตอนนี้ฟังก์ชั่นเริ่มต้นของแอพจะเข้าสู่./bin/wwwไฟล์รวมถึง vars เหล่านั้น (เนื้อหาไฟล์ www: http://jsfiddle.net/avMa5/ ) var server = app.listen(app.get('port'), function() {..} (ตรวจสอบโดยnpm install -g express-generatorแล้วexpress myApp ตามที่กล่าวมาเราจำไว้ว่าเอกสาร socket.io ขอให้เรายิงมันอย่างไร: var app = require('express').createServer(); var io = require('socket.io')(app); โอเค แต่ฉันไม่สามารถทำได้ภายใน app.js เช่นที่แนะนำ ควรทำใน. / bin/www เพื่อให้ทำงานได้ ใน ./bin/www นี่คือสิ่งที่ฉันทำได้เพื่อให้มันใช้งานได้: …

13
Global Variable ใน app.js สามารถเข้าถึงได้ในเส้นทาง?
ฉันจะตั้งค่าตัวแปรapp.jsและให้มันพร้อมใช้งานในทุกเส้นทางอย่างน้อยที่สุดในindex.jsไฟล์ที่อยู่ในเส้นทางได้อย่างไร โดยใช้กรอบงานด่วนและnode.js
93 node.js  express 

4
req.query และ req.param ใน ExpressJS
ความแตกต่างหลักระหว่างreq.queryและreq.paramใน Express ทั้งสองแตกต่างกันอย่างไร เมื่อใดจึงจะใช้ในกรณีใด สมมติว่าลูกค้าส่งพูดคู่ Android (Key, value) ในคำขอ ........ จะใช้อันไหนดี? [แก้ไข] สมมติว่า android ส่งคำขอ POST -> Intention คือการส่ง (Key, Value) ไปยังไคลเอนต์และเซิร์ฟเวอร์ควรดำเนินการสืบค้นฐานข้อมูลตามค่าในเซิร์ฟเวอร์และส่งคืนการตอบสนอง JSON ดู :: ที่คำถามนี้สำหรับโปรแกรมที่ผมอ้างอิง: : โปรแกรมเอ็กซ์เพรสง่ายสำหรับการสอบถามผล
93 node.js  express 

9
ส่ง JSON ไปยัง HTTP POST Request
ฉันกำลังพยายามส่งคำขอ HTTP POST ไปยัง google QPX Express API [1] โดยใช้nodejsและrequest [2] รหัสของฉันมีลักษณะดังนี้: // create http request client to consume the QPX API var request = require("request") // JSON to be passed to the QPX Express API var requestData = { "request": { "slice": [ { "origin": "ZRH", "destination": "DUS", "date": …

5
NodeJS / express: แคชและรหัสสถานะ 304
เมื่อฉันโหลดเว็บไซต์ที่สร้างด้วย Express ซ้ำฉันจะได้รับหน้าว่างพร้อม Safari (ไม่ใช่ใน Chrome) เนื่องจากเซิร์ฟเวอร์ NodeJS ส่งรหัสสถานะ 304 มาให้ฉัน วิธีแก้ปัญหานี้? แน่นอนว่านี่อาจเป็นเพียงปัญหาของ Safari แต่จริงๆแล้วมันทำงานบนเว็บไซต์อื่น ๆ ทั้งหมดได้ดีดังนั้นจึงต้องมีปัญหากับเซิร์ฟเวอร์ NodeJS ของฉันด้วย res.renderในการสร้างหน้าเว็บที่ผมใช้กับหยก อัปเดต:ดูเหมือนว่าปัญหานี้เกิดขึ้นเนื่องจาก Safari ส่ง'cache-control': 'max-age=0'เมื่อโหลดซ้ำ อัปเดต 2:ตอนนี้ฉันมีวิธีแก้ปัญหา แต่มีวิธีแก้ปัญหาที่ดีกว่านี้หรือไม่ วิธีแก้ปัญหา: app.get('/:language(' + content.languageSelector + ')/:page', function (req, res) { // Disable caching for content files res.header("Cache-Control", "no-cache, no-store, must-revalidate"); res.header("Pragma", "no-cache"); res.header("Expires", …

3
ต้องเรียก res.end () ด้วย node.js?
ฉันมีแอปพลิเคชั่นExpressหลายตัวและฉันเห็นว่าในบางโมดูลres.end()ถูกเรียกที่ส่วนท้ายของตัวจัดการคำขอ (หลังres.sendหรือres.json) ในขณะที่อื่น ๆ จะไม่ถูกเรียก ตัวอย่างเช่น: app.get('/test', function(req, res) { res.send('Test', 200); }); หรือ: app.get('/test', function(req, res) { res.send('Test', 200); res.end(); }); ทั้งสองกรณีใช้ได้ผล แต่ฉันกลัวว่าจะรั่วหรือใช้ตัวอธิบายไฟล์หรืออะไรทำนองนั้นเมื่อฉันเรียกใช้คำขอจำนวนมาก ข้อใด "ถูกต้อง" มากกว่ากัน?
92 node.js  express 

3
ความแตกต่างระหว่าง app.use () และ router.use () ใน Express
ฉันเพิ่งอ่านเอกสารเกี่ยวกับ Express และพบคำศัพท์ทั้งสองนี้app.use();และrouter.use(); ฉันรู้ว่าapp.use();ใช้ในโหนดสำหรับการติดตั้งมิดเดิลแวร์ที่พา ธ และเรามักใช้ในแอปโหนดส่วนใหญ่ แต่router.use();ทั้งคู่เหมือนกันเพราะอะไร? ถ้าไม่แตกต่างกันอย่างไร? ฉันอ่านเกี่ยวกับเราเตอร์ที่นี่ ฉันยังพบคำถามที่คล้ายกันใน SO อะไรคือความแตกต่างระหว่าง "express.Router" และการกำหนดเส้นทางโดยใช้ "app.get"? และความแตกต่างระหว่าง app.all ('*') และ app.use ('/')แต่พวกเขาไม่ได้ตอบคำถามของฉันจริงๆ ขอบคุณ.
92 node.js  express 

6
จะแชร์เซสชันกับ Socket.IO 1.x และ Express 4.x ได้อย่างไร?
ฉันจะแชร์เซสชันกับ Socket.io 1.0 และ Express 4.x ได้อย่างไร ฉันใช้ Redis Store แต่ฉันเชื่อว่ามันไม่สำคัญ ฉันรู้ว่าฉันต้องใช้มิดเดิลแวร์เพื่อดูคุกกี้และเรียกเซสชัน แต่ไม่รู้ว่าจะทำอย่างไร ฉันค้นหา แต่ไม่พบการทำงานใด ๆ var RedisStore = connectRedis(expressSession); var session = expressSession({ store: new RedisStore({ client: redisClient }), secret: mysecret, saveUninitialized: true, resave: true }); app.use(session); io.use(function(socket, next) { var handshake = socket.handshake; if (handshake.headers.cookie) { var str …

2
ผ่านการควบคุมเส้นทางด้วยพารามิเตอร์ทางเลือกหลังจากรูทใน express?
ฉันกำลังทำงานกับแอพย่อ URL แบบง่ายๆและมีเส้นทางด่วนดังต่อไปนี้: app.get('/', function(req, res){ res.render('index', { link: null }); }); app.post('/', function(req, res){ function makeRandom(){ var text = ""; var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; for( var i=0; i < 3 /*y u looking at me <33??*/; i++ ) text += possible.charAt(Math.floor(Math.random() * possible.length)); return text; } var url = …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.