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

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

6
ผลักรายการลงในอาร์เรย์ mongo ผ่าน mongoose
ฉันค้นหาคำตอบแล้ว แต่ฉันแน่ใจว่าฉันหายไปเพราะคำพูดที่ถูกต้องเพื่ออธิบายสิ่งที่ฉันตามมา โดยทั่วไปฉันมีคอลเลกชัน MongoDB ที่เรียกว่า 'people' schema สำหรับการรวบรวมนั้นมีดังนี้: people: { name: String, friends: [{firstName: String, lastName: String}] } ตอนนี้ฉันมีแอปพลิเคชันด่วนขั้นพื้นฐานที่เชื่อมต่อกับฐานข้อมูลและสร้าง 'คน' ด้วยอาร์เรย์เพื่อนที่ว่างเปล่าได้สำเร็จ ในตำแหน่งรองในแอปพลิเคชันจะมีแบบฟอร์มเพื่อเพิ่มเพื่อน แบบฟอร์มที่ใช้ในชื่อและนามสกุลจากนั้นโพสต์พร้อมกับฟิลด์ชื่อยังสำหรับการอ้างอิงถึงวัตถุคนที่เหมาะสม สิ่งที่ฉันกำลังลำบากในการทำคือการสร้างวัตถุเพื่อนใหม่แล้ว "ผลัก" วัตถุนั้นลงในอาร์เรย์เพื่อน ฉันรู้ว่าเมื่อฉันทำสิ่งนี้ผ่านทางคอนโซล mongo ฉันใช้ฟังก์ชั่นอัพเดทด้วย $ push เป็นอาร์กิวเมนต์ที่สองของฉันหลังจากเกณฑ์การค้นหา แต่ฉันไม่สามารถหาวิธีที่เหมาะสมเพื่อให้พังพอนทำเช่นนี้ db.people.update({name: "John"}, {$push: {friends: {firstName: "Harry", lastName: "Potter"}}}); ปรับปรุง: ดังนั้นคำตอบของเอเดรียเป็นประโยชน์มาก ต่อไปนี้เป็นสิ่งที่ฉันทำเพื่อบรรลุเป้าหมาย ในไฟล์ app.js ของฉันฉันกำหนดเส้นทางชั่วคราวโดยใช้ app.get('/addfriend', users.addFriend); ฉันอยู่ที่ไหนในไฟล์ …

4
NODE_ENV คืออะไรและใช้ใน Express ได้อย่างไร
นี่คือแอพของฉันซึ่งฉันกำลังใช้งานอยู่ var app = express(); app.set('views',settings.c.WEB_PATH + '/public/templates'); app.set('view engine','ejs'); app.configure(function(){ app.use(express.favicon()); app.use(express.static(settings.c.WEB_PATH + '/public')); app.use(express.bodyParser()); app.use(express.cookieParser()); app.use(express.methodOverride()); app.use(express.session({ cookie:{ domain:"."+settings.c.SITE_DOMAIN, maxAge:1440009999}, secret:'hamster', store: r_store, })); app.use(useragent.express()); app.use(flash()); app.use(passport.initialize()); app.use(passport.session()); }); อย่างไรก็ตามฉันมารู้จักNODE_ENVและต้องการใช้มัน ฉันจะทำสิ่งนี้ได้อย่างไร

3
พารามิเตอร์“ res” และ“ req” ในฟังก์ชัน Express คืออะไร
ในฟังก์ชั่น Express ต่อไปนี้: app.get('/user/:id', function(req, res){ res.send('user' + req.params.id); }); สิ่งที่เป็นreqและres? พวกเขาหมายถึงอะไรพวกเขาหมายถึงอะไรและพวกเขาทำอะไร ขอบคุณ!
183 node.js  express 

16
การเชื่อมต่อ HTTPS อัตโนมัติ / เปลี่ยนเส้นทางพร้อม node.js / express
ฉันพยายามตั้งค่า HTTPS ด้วยโปรเจ็กต์ node.js ที่ฉันกำลังทำงานอยู่ ฉันได้ปฏิบัติตามเอกสารประกอบ node.jsเป็นหลักสำหรับตัวอย่างนี้ // curl -k https://localhost:8000/ var https = require('https'); var fs = require('fs'); var options = { key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem') }; https.createServer(options, function (req, res) { res.writeHead(200); res.end("hello world\n"); }).listen(8000); ตอนนี้เมื่อฉันทำ curl -k https://localhost:8000/ ฉันเข้าใจ hello world อย่างที่คาดไว้. แต่ถ้าฉันทำ curl -k http://localhost:8000/ ฉันเข้าใจ …
182 node.js  https  express 

24
วิธีรับเส้นทางที่ลงทะเบียนทั้งหมดใน Express
ฉันมีเว็บแอปพลิเคชั่นที่สร้างขึ้นโดยใช้ Node.js และ Express ตอนนี้ฉันต้องการจะแสดงรายการเส้นทางที่ลงทะเบียนทั้งหมดด้วยวิธีการที่เหมาะสม เช่นถ้าฉันได้ประหารชีวิต app.get('/', function (...) { ... }); app.get('/foo/:id', function (...) { ... }); app.post('/foo/:id', function (...) { ... }); ฉันต้องการดึงวัตถุ (หรือสิ่งที่เทียบเท่า) เช่น: { get: [ '/', '/foo/:id' ], post: [ '/foo/:id' ] } เป็นไปได้และถ้าเป็นเช่นนั้นได้อย่างไร อัปเดต:ในขณะเดียวกันฉันได้สร้างแพ็กเกจ npm ที่เรียกว่าget- route ซึ่งแยกเส้นทางออกจากแอปพลิเคชันที่กำหนดซึ่งจะแก้ปัญหานี้ได้ ปัจจุบันรองรับเฉพาะ Express 4.x แต่ฉันเดาว่าตอนนี้ใช้ได้แล้ว เพียงแค่ FYI
181 node.js  express 

30
ExpressJS - โยนเหตุการณ์ข้อผิดพลาดที่ไม่สามารถจัดการได้
ฉันสร้างแอปพลิเคชัน expressjs โดยใช้คำสั่งต่อไปนี้: express -e folderName npm install ejs --save npm install เมื่อฉันเรียกใช้แอปพลิเคชันด้วย: node app.jsฉันมีข้อผิดพลาดดังต่อไปนี้: events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE at errnoException (net.js:884:11) at Server._listen2 (net.js:1022:14) at listen (net.js:1044:10) at Server.listen (net.js:1110:5) at Object.<anonymous> (folderName/app.js:33:24) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) …
180 node.js  express  npm 

6
Passport.js - ข้อผิดพลาด: ไม่สามารถทำให้ผู้ใช้เป็นอนุกรมในเซสชัน
ฉันมีปัญหากับโมดูล Passport.js และ Express.js นี่คือรหัสของฉันและฉันแค่ต้องการใช้การเข้าสู่ระบบ hardcoded สำหรับการลองครั้งแรก ฉันได้รับข้อความเสมอ: ฉันค้นหามากและพบบางโพสต์ใน stackoverflow แต่ฉันไม่ได้รับความล้มเหลว Error: failed to serialize user into session at pass (c:\Development\private\aortmann\bootstrap_blog\node_modules\passport\lib\passport\index.js:275:19) รหัสของฉันมีลักษณะเช่นนี้ 'use strict'; var express = require('express'); var path = require('path'); var fs = require('fs'); var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; var nodemailer = require('nodemailer'); var app …

3
เกิดข้อผิดพลาดในการจัดการหลักการสำหรับแอปพลิเคชัน Node.js + Express.js หรือไม่
ดูเหมือนว่าการรายงาน / การจัดการข้อผิดพลาดจะทำแตกต่างกันในแอปพลิเคชันNode.js + Express.jsเมื่อเทียบกับเฟรมเวิร์กอื่น ๆ ฉันถูกต้องในการทำความเข้าใจว่ามันทำงานได้ดังต่อไปนี้? A) ตรวจจับข้อผิดพลาดโดยรับเป็นพารามิเตอร์ในฟังก์ชั่นการโทรกลับของคุณ ตัวอย่างเช่น: doSomethingAndRunCallback(function(err) { if(err) { … } }); B) รายงานข้อผิดพลาดใน MIDDLEWARE โดยโทรถัดไป (err) ตัวอย่าง: handleRequest(req, res, next) { // An error occurs… next(err); } C) รายงานข้อผิดพลาดใน ROUTES โดยการโยนข้อผิดพลาด ตัวอย่าง: app.get('/home', function(req, res) { // An error occurs throw err; }); D) …
177 node.js  express 

5
รับชื่อโฮสต์ของคำขอปัจจุบันใน node.js Express
ดังนั้นฉันอาจจะพลาดอะไรง่ายๆที่นี่ แต่ฉันไม่สามารถหาวิธีรับชื่อโฮสต์ที่วัตถุคำขอที่ฉันส่งคำตอบได้รับการร้องขอจาก เป็นไปได้ไหมที่จะคิดชื่อโฮสต์ที่ผู้ใช้กำลังเยี่ยมชมจาก node.js?

12
จะเข้าถึงเนื้อหาคำขอเมื่อ POSTing โดยใช้ Node.js และ Express ได้อย่างไร
ฉันมีรหัส Node.js ต่อไปนี้: var express = require('express'); var app = express.createServer(express.logger()); app.use(express.bodyParser()); app.post('/', function(request, response) { response.write(request.body.user); response.end(); }); ตอนนี้ถ้าฉันโพสต์สิ่งที่ชอบ: curl -d user=Someone -H Accept:application/json --url http://localhost:5000 ฉันได้รับSomeoneตามที่คาดไว้ ตอนนี้ถ้าฉันต้องการได้รับร่างกายเต็มร้องขอ? ฉันพยายามทำresponse.write(request.body)แต่ Node.js เกิดข้อยกเว้นว่า " อาร์กิวเมนต์แรกต้องเป็นสตริงหรือบัฟเฟอร์ " จากนั้นไปที่ "infinite loop" โดยมีข้อยกเว้นที่ระบุว่า " ไม่สามารถตั้งค่าส่วนหัวได้หลังจากถูกส่ง "; นี้แม้จะยังเป็นความจริงถ้าฉันไม่แล้วเขียนvar reqBody = request.body;response.write(reqBody) มีปัญหาอะไรที่นี่ นอกจากนี้ฉันสามารถรับคำขอแบบดิบโดยexpress.bodyParser()ไม่ใช้ได้หรือไม่

4
process.env.PORT ใน Node.js คืออะไร
สิ่งที่process.env.PORT || 3000ใช้สำหรับใน Node.js? ฉันเห็นสิ่งนี้ที่ไหนสักแห่ง: app.set('port', process.env.PORT || 3000); หากใช้เพื่อตั้งค่า3000เป็นพอร์ตการรับฟังฉันสามารถใช้สิ่งนี้แทนได้หรือไม่? app.listen(3000); ถ้าไม่ใช่เพราะอะไร
175 node.js  express  port 

8
TypeError: Router.use () ต้องการฟังก์ชั่นมิดเดิลแวร์ แต่มี Object
มีการเปลี่ยนแปลงมิดเดิลแวร์ในการแสดง Express เวอร์ชันใหม่และฉันได้ทำการเปลี่ยนแปลงบางอย่างในโค้ดของฉันเกี่ยวกับการโพสต์อื่น ๆ ในปัญหานี้ แต่ฉันไม่สามารถติดอะไรได้เลย เราให้มันทำงานก่อนมือ แต่ฉันจำไม่ได้ว่าการเปลี่ยนแปลงคืออะไร throw new TypeError('Router.use() requires middleware function but got a ^ TypeError: Router.use() requires middleware function but got a Object node ./bin/www js-bson: Failed to load c++ bson extension, using pure JS version js-bson: Failed to load c++ bson extension, using pure JS …


12
ส่งโทเค็น JWT ในส่วนหัวด้วยบุรุษไปรษณีย์
ผมทดสอบการดำเนินการของ JWT Token รักษาความปลอดภัยตามออกต่อไปนี้บทความ ฉันได้รับโทเค็นจากเซิร์ฟเวอร์ทดสอบเรียบร้อยแล้ว ฉันไม่สามารถทราบได้ว่าจะให้โปรแกรมไคลเอ็นต์ POSTMAN REST ของ Chrome ส่งโทเค็นในส่วนหัวได้อย่างไร คำถามของฉันมีดังนี้: 1) ฉันใช้ชื่อส่วนหัวที่ถูกต้องและ / หรืออินเตอร์เฟซ POSTMAN หรือไม่ 2) ฉันต้องใช้รหัส 64 เข้ารหัสโทเค็นหรือไม่ ฉันคิดว่าฉันสามารถส่งโทเค็นกลับมาได้
169 express  jwt  postman 

12
ไม่สามารถกำจัดส่วนหัว X-Powered-By: Express
ฉันกำลังรันเซิร์ฟเวอร์บน nodejs ด้วย express ฉันไม่สามารถกำจัดส่วนหัวได้: X-Powered-By:Express ฉันสงสัยว่ามีวิธีใดที่จะกำจัดส่วนหัวนี้หรือฉันต้องอยู่กับมันหรือไม่?

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