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

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

18
NodeJS: จะรับพอร์ตของเซิร์ฟเวอร์ได้อย่างไร
คุณมักจะเห็นตัวอย่างสวัสดีรหัสโลกสำหรับโหนดที่สร้างเซิร์ฟเวอร์ Http เริ่มฟังพอร์ตจากนั้นตามด้วยบางสิ่งในบรรทัด: console.log('Server is listening on port 8000'); แต่ในอุดมคติคุณจะต้องการสิ่งนี้แทน: console.log('Server is listening on port ' + server.port); ฉันจะดึงพอร์ตที่เซิร์ฟเวอร์กำลังฟังอยู่โดยไม่เก็บหมายเลขไว้ในตัวแปรก่อนการโทรได้server.listen()อย่างไร? ฉันเคยเห็นสิ่งนี้ทำมาก่อน แต่ไม่พบในเอกสารประกอบของ Node อาจเป็นสิ่งที่เฉพาะเจาะจงในการแสดง?

6
MongoDB / Mongoose สอบถามข้อมูลในวันที่กำหนด?
เป็นไปได้หรือไม่ที่จะสืบค้นวันที่ที่เฉพาะเจาะจง ฉันพบใน Cookbook mongo ที่เราสามารถทำได้สำหรับช่วงQuerying สำหรับช่วงวันที่ แบบนั้น: db.posts.find({"created_on": {"$gte": start, "$lt": end}}) แต่มันเป็นไปได้สำหรับวันที่ระบุหรือไม่ สิ่งนี้ใช้ไม่ได้: db.posts.find({"created_on": new Date(2012, 7, 14) })

11
เส้นทางสัมบูรณ์ res.sendFile
ถ้าฉันทำ res.sendfile('public/index1.html'); จากนั้นฉันได้รับคำเตือนคอนโซลเซิร์ฟเวอร์ เลิกใช้ด่วนres.sendfile: ใช้res.sendFileแทน แต่ทำงานได้ดีในฝั่งไคลเอ็นต์ แต่พอเปลี่ยนเป็น res.sendFile('public/index1.html'); ฉันได้รับข้อผิดพลาด TypeError: พา ธ ต้องเป็นค่าสัมบูรณ์หรือระบุรูทเป็น res.sendFile และindex1.htmlไม่แสดงผล ฉันนึกไม่ออกว่าเส้นทางที่แน่นอนคืออะไร ฉันมีpublicไดเร็กทอรีในระดับเดียวกับserver.js. ฉันกำลังทำres.sendFileจากserver.js. ฉันยังได้ประกาศapp.use(express.static(path.join(__dirname, 'public'))); การเพิ่มโครงสร้างไดเร็กทอรีของฉัน: /Users/sj/test/ ....app/ ........models/ ....public/ ........index1.html อะไรคือเส้นทางที่แน่นอนที่จะระบุที่นี่? ฉันใช้ Express 4.x.
139 node.js  express  path 

4
ไม่พบคำสั่งด่วน
ด้วยเหตุผลบางอย่างหลังจากติดตั้ง Express ทั่วโลกบนเครื่องของฉันด้วยnpm install -g expressถ้าฉันcdลงในไดเรกทอรีและพยายามที่จะเรียกใช้ด่วนฉันได้รับข้อผิดพลาดต่อไปนี้: express: command not found. แม้ว่าฉันจะรันด้วยsudoฉันยังได้รับผลลัพธ์เดียวกัน ฉันได้ลองวิธีแก้ไขปัญหาที่แตกต่างกันหลายอย่างแล้ว แต่ก็ไม่มีอะไรทำงานได้ ฉันติดตั้งโหนดผ่านทางhomebrewซึ่งมีกระทู้บางรายการใน Stack Overflow ที่ระบุว่าอาจเป็นปัญหาดังนั้นฉันจึงถอนการติดตั้งโหนดอย่างสมบูรณ์และติดตั้งใหม่ผ่านทางโปรแกรมติดตั้งบน nodejs.org (ตอนนี้ฉันกำลังเรียกใช้ v0.10.26) และปัญหายังคงอยู่ ถ้าฉันจะเข้าไป /usr/local/lib/node_modules Expressอยู่ในนั้น แต่ภายใน / usr / local / bin ไม่มีอะไรเกี่ยวกับ Express ฉันไม่แน่ใจว่าเป็นปัญหาหรือไม่ แต่การพิจารณามีไบนารีสำหรับแพ็คเกจโหนดที่ติดตั้งทั่วโลกอื่น ๆ ในไดเรกทอรีนั้นฉันคิดว่าอาจมีบางอย่างผิดปกติ นี่คือผลลัพธ์ที่แน่นอนที่ฉันได้รับเมื่อติดตั้ง: npm http GET https://registry.npmjs.org/express npm http 304 https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/accepts/1.0.0 …


5
เมื่อใดที่จะใช้ next () และ return next () ใน Node.js
สถานการณ์จำลอง : พิจารณาสิ่งต่อไปนี้เป็นส่วนหนึ่งของรหัสจากโหนดเว็บแอป app.get('/users/:id?', function(req, res, next){ var id = req.params.id; if (id) { // do something } else { next(); //or return next(); } }); ฉบับที่ : ฉันกำลังตรวจสอบที่หนึ่งที่จะไปมีเพียงหรือnext() return next()โค้ดตัวอย่างด้านบนทำงานได้เหมือนกันทั้งสอง & ไม่แสดงความแตกต่างในการเรียกใช้ คำถาม : ใครบางคนสามารถให้ความกระจ่างเกี่ยวกับเรื่องนี้เมื่อใดควรใช้next()และเมื่อใดreturn next()และมีความแตกต่างที่สำคัญหรือไม่?
136 node.js  express  connect  v8 

6
Express กับ hapi เปรียบเทียบกันได้อย่างไร?
จากมุมมองของการออกแบบและพัฒนาเว็บแอปพลิเคชัน Express และ Hapi เปรียบเทียบกันได้อย่างไร สำหรับตัวอย่างพื้นฐานดูเหมือนว่าจะคล้ายกัน แต่ฉันสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับความแตกต่างที่สำคัญในโครงสร้างแอปพลิเคชันโดยรวม ยกตัวอย่างเช่นเท่าที่ผมได้เรียนรู้ขั้นตอนที่ใช้แตกต่างกันกลไกการกำหนดเส้นทางที่ไม่ได้ใช้คำสั่งการลงทะเบียนเข้าบัญชีสามารถทำ lookups เร็วขึ้น แต่มี จำกัด เมื่อเทียบกับเอ็กซ์เพรส มีความแตกต่างที่สำคัญอื่น ๆ หรือไม่? นอกจากนี้ยังมีบทความเกี่ยวกับการเลือกใช้ Hapi (มากกว่า Express) สำหรับการพัฒนาเว็บไซต์ npmjs.com ใหม่บทความนี้ระบุว่า "ระบบปลั๊กอินของ Hapi หมายความว่าเราสามารถแยกแง่มุมและบริการต่างๆของแอปพลิเคชันในรูปแบบที่อนุญาตให้ใช้ไมโครเซอร์วิสใน ในทางกลับกัน Express ต้องการการกำหนดค่าอีกเล็กน้อยเพื่อให้ได้ฟังก์ชันการทำงานเดียวกัน "หมายความว่าอย่างไร?

17
การเชื่อมต่อ Redis ไปยัง 127.0.0.1:6379 ล้มเหลว - เชื่อมต่อ ECONNREFUSED
ฉันทำงานกับ node.js โดย expressjs ฉันพยายามจัดเก็บบัญชีในเซสชัน ดังนั้นฉันจึงพยายามทดสอบเพื่อใช้เซสชันกับโค้ดในexpressjs var RedisStore = require('connect-redis')(express); app.use(express.bodyParser()); app.use(express.cookieParser()); app.use(express.session({ secret: "keyboard cat", store: new RedisStore })); แต่ฉันพบข้อผิดพลาด Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSEDแต่ผมมีข้อผิดพลาดโปรดช่วยฉันแก้ไขปัญหานี้

12
ข้อผิดพลาด: ไม่ได้ระบุเครื่องมือเริ่มต้นและไม่ได้ระบุส่วนขยาย
ฉันกำลังดำเนินการตั้งค่าเซิร์ฟเวอร์ http โดยใช้ node.js และ engine อย่างไรก็ตามฉันยังคงพบปัญหาที่มีข้อมูลเพียงเล็กน้อยเกี่ยวกับวิธีแก้ไขฉันขอขอบคุณสำหรับความช่วยเหลือในการแก้ปัญหานี้ Error: No default engine was specified and no extension was provided. at new View (...\node_modules\express\lib\view.js:41:42) at Function.app.render (...\node_modules\express\lib\application.js:484:12) at ServerResponse.res.render (...\node_modules\express\lib\response.js:783:7) at Layer.handle (...\app.js:123:7) at trim_prefix (...\node_modules\express\lib\router\index.js:225:17) at c (...\node_modules\express\lib\router\index.js:198:9) at Function.proto.process_params (...\node_modules\express\lib\router\index.js:253:12) at next (...\node_modules\express\lib\router\index.js:189:19) at next (...\node_modules\express\lib\router\index.js:202:7) at next (...\node_modules\express\lib\router\index.js:166:38) ด้านล่างนี้คือสิ่งที่ฉันได้ตั้งค่าเพื่อสตาร์ทเครื่องยนต์นี้ …
132 node.js  http  express 

16
ฉันจะใช้ HTML เป็นเครื่องมือดูใน Express ได้อย่างไร
ฉันลองการเปลี่ยนแปลงอย่างง่ายจากเมล็ดและสร้างไฟล์. html ที่เกี่ยวข้อง (เช่น index.html) //app.set('view engine', 'jade'); app.set('view engine', 'html'); และไฟล์นี้ยังคงเหมือนเดิม: exports.index = function(req, res){ res.render('index'); }; แต่ในขณะที่ฉันวิ่ง 500 ข้อผิดพลาด: ไม่พบโมดูล 'html' ตัวเลือกเดียวของฉันคือใช้ 'ejs' ความตั้งใจของฉันคือการใช้ HTML ธรรมดาร่วมกับ AngularJS
130 html  node.js  express 

13
สร้างใบรับรอง SSL ที่ลงนามด้วยตนเองที่เชื่อถือได้สำหรับ localhost (สำหรับใช้กับ Express / Node)
พยายามทำตามคำแนะนำต่างๆในการสร้างใบรับรองที่ลงนามด้วยตนเองเพื่อใช้กับ localhost คำแนะนำส่วนใหญ่ดูเหมือนจะเป็นสำหรับ IIS แต่ฉันกำลังพยายามใช้ Nodejs / Express ไม่มีสิ่งใดทำงานได้อย่างถูกต้องเนื่องจากในขณะที่ติดตั้งใบรับรองจะไม่เชื่อถือ นี่คือสิ่งที่ฉันพยายามแล้วล้มเหลว: ฉันจะสร้างใบรับรองที่ลงนามด้วยตนเองสำหรับ localhost ได้อย่างไร https://www.digitalocean.com/community/articles/how-to-create-a-ssl-certificate-on-nginx-for-ubuntu-12-04/ http://blogs.developerforce.com/developer-relations/2011/05/generating-valid-self-signed-certificates.html http://www.robbagby.com/iis/self-signed-certificates-on-iis-7-the-easy-way-and-the-most-effective-way/ ใครสามารถเสนอเวิร์กโฟลว์ที่สามารถทำสิ่งนี้ได้? ฉันสามารถติดตั้งใบรับรองได้ แต่ฉันไม่สามารถรับใบรับรองที่เชื่อถือได้ใน chrome (v32) หรือ IE (v10) แก้ไข: มีการแนะนำในความคิดเห็นว่าปัญหาไม่มีใบรับรองรูทที่เชื่อถือได้ ฉันติดตั้งใบรับรองผ่าน IE แล้ว แต่ก็ยังไม่ได้รับความเชื่อถือ

16
ขยายวัตถุคำขอด่วนโดยใช้ typescript
ฉันพยายามเพิ่มคุณสมบัติเพื่อแสดงวัตถุคำขอจากมิดเดิลแวร์โดยใช้ typescript อย่างไรก็ตามฉันไม่สามารถหาวิธีเพิ่มคุณสมบัติพิเศษให้กับวัตถุได้ ฉันไม่ต้องการใช้เครื่องหมายวงเล็บถ้าเป็นไปได้ ฉันกำลังมองหาวิธีแก้ปัญหาที่จะช่วยให้ฉันสามารถเขียนสิ่งที่คล้ายกันนี้ได้ (ถ้าเป็นไปได้): app.use((req, res, next) => { req.property = setProperty(); next(); });

3
ฉันจะตั้งค่าใบรับรอง SSL สำหรับเซิร์ฟเวอร์ express.js ได้อย่างไร
ก่อนหน้านี้ใน Express เวอร์ชันเก่าฉันสามารถทำได้: express.createServer({key:'keyFile', cert:'certFile'}); อย่างไรก็ตามในเวอร์ชันใหม่กว่าจะใช้งานไม่ได้อีกต่อไป: var app = express(); ฉันควรโทรapp.use()ไปกำหนดใบรับรองหรือไม่? ถ้าเป็นอย่างไร

6
ด่วนแสดงข้อผิดพลาดเป็น "ตัวแยกวิเคราะห์เนื้อหาที่เลิกใช้งานส่วนขยายที่ไม่ได้กำหนด"
ในแอปโหนดของฉันฉันใช้ Express ทำงานได้ดีทั้งหมด แต่ฉันได้รับข้อผิดพลาดในไฟล์cmd. ฉันใช้ทั้งหมดเป็นโมดูลที่อัปเดต ... รหัสของฉัน: var express = require('express'); var bodyParser = require('body-parser'); var jade = require('jade'); var app = express(); app.set('view engine', 'jade'); app.set('views', __dirname + '/views'); app.use(express.static(__dirname + '/public')); app.use(bodyParser.json()); // to support JSON-encoded bodies app.use(bodyParser.urlencoded()); // to support URL-encoded bodies app.get('/',function(req,res){ res.render('index.jade'); }); app.get('/login',function(req,res){ res.render('index.jade'); …
127 node.js  express 

2
Node.js ไม่สามารถเปิดไฟล์ได้ ข้อผิดพลาด: ENOENT, stat "./path/to/file"
ฉันได้พัฒนาโปรแกรม node.js โดยใช้เฟรมเวิร์กด่วนบนคอมพิวเตอร์ของฉันซึ่งมันทำงานได้ดีโดยไม่มีข้อตำหนิ อย่างไรก็ตามเมื่อฉันเรียกใช้โปรแกรมบนอุปกรณ์ SUSE Studio ของฉันซึ่งมีจุดประสงค์เพื่อใช้งานจริงฉันได้รับข้อผิดพลาดในการโต้ตอบไฟล์ใด ๆ Error: ENOENT, stat './path/to/file' ฉันตรวจสอบแล้วว่าสิทธิ์ของไฟล์นั้นถูกต้องตามที่เป็นจริง คอมพิวเตอร์และเครื่องใช้ของฉันกำลังเรียกใช้โหนดเวอร์ชันที่แตกต่างกันหากมีความสำคัญ ความคิดใด ๆ ?
126 node.js  express 

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