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

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

9
พร็อกซีที่มี express.js
เพื่อหลีกเลี่ยงปัญหา AJAX ในโดเมนเดียวกันฉันต้องการให้ node.js เว็บเซิร์ฟเวอร์ของฉันส่งต่อคำขอทั้งหมดจาก URL /api/BLABLAไปยังเซิร์ฟเวอร์อื่นother_domain.com:3000/BLABLAและกลับสู่ผู้ใช้ในสิ่งเดียวกันกับที่รีโมตเซิร์ฟเวอร์นี้ส่งคืนโดยโปร่งใส URL อื่น ๆ ทั้งหมด (ด้านข้าง/api/*) จะต้องให้บริการโดยตรงไม่ต้องใช้ผู้รับมอบฉันทะ ฉันจะบรรลุสิ่งนี้ด้วย node.js + express.js ได้อย่างไร คุณสามารถยกตัวอย่างรหัสง่ายๆได้หรือไม่? (ทั้งเว็บเซิร์ฟเวอร์และเซิร์ฟเวอร์ระยะไกล3000อยู่ภายใต้การควบคุมของฉันทั้งสองทำงานอยู่ node.js กับ express.js) จนถึงตอนนี้ฉันพบhttps://github.com/http-party/node-http-proxyแต่การอ่านเอกสารมีไม่ได้ทำให้ฉันฉลาดขึ้น ฉันลงเอยด้วย var proxy = new httpProxy.RoutingProxy(); app.all("/api/*", function(req, res) { console.log("old request url " + req.url) req.url = '/' + req.url.split('/').slice(2).join('/'); // remove the '/api' part …

18
เพิ่มเขตข้อมูล created_at และ updated_at ไปยัง schongas พังพอน
มีวิธีเพิ่มเขตข้อมูล create_at และ updated_at ลงใน schong ของ mongoose โดยไม่ต้องผ่านมันในทุกครั้งที่มีการเรียก MyModel () ใหม่? ฟิลด์ created_at จะเป็นวันที่และจะถูกเพิ่มเมื่อสร้างเอกสารเท่านั้น เขตข้อมูล updated_at จะได้รับการอัพเดตพร้อมกับวันที่ใหม่เมื่อใดก็ตามที่บันทึก () ถูกเรียกบนเอกสาร ฉันได้ลองทำสิ่งนี้ในสคีมาแล้ว แต่ฟิลด์ไม่ปรากฏขึ้นเว้นแต่ว่าฉันจะเพิ่มเข้าไป var ItemSchema = new Schema({ name : { type: String, required: true, trim: true } , created_at : { type: Date, required: true, default: Date.now } });

9
ฉันจะทำให้ Express to output HTML มีรูปแบบที่ดีได้อย่างไร
เมื่อใช้ Express for Node.js ฉันสังเกตว่ามันแสดงผลโค้ด HTML โดยไม่มีอักขระหรือแท็บบรรทัดใหม่ แม้ว่าการดาวน์โหลดอาจมีประสิทธิภาพมากกว่า แต่ก็ไม่สามารถอ่านได้มากในระหว่างการพัฒนา ฉันจะทำให้ Express to output HTML มีรูปแบบที่ดีได้อย่างไร

8
ฉันจะตั้งค่าส่วนหัวการตอบสนองในเนื้อหาของ express.js ได้อย่างไร
ฉันต้องตั้งค่า CORS ให้เปิดใช้งานสคริปต์ที่ให้บริการโดยด่วน ฉันจะตั้งค่าส่วนหัวในการตอบกลับที่ส่งคืนสำหรับสาธารณะ / เนื้อหาได้อย่างไร

4
วิธีการตั้งค่าคุกกี้ในโหนด js โดยใช้กรอบงานด่วน?
ในแอปพลิเคชันของฉันฉันต้องตั้งค่าคุกกี้โดยใช้ express framework ฉันลองใช้รหัสต่อไปนี้แล้ว แต่ไม่ได้ตั้งค่าคุกกี้ ใครสามารถช่วยฉันทำสิ่งนี้ได้บ้าง var express = require('express'), http = require('http'); var app = express(); app.configure(function(){ app.use(express.cookieParser()); app.use(express.static(__dirname + '/public')); app.use(function (req, res) { var randomNumber=Math.random().toString(); randomNumber=randomNumber.substring(2,randomNumber.length); res.cookie('cokkieName',randomNumber, { maxAge: 900000, httpOnly: true }) console.log('cookie have created successfully'); }); }); var server = http.createServer(app); var io = require('socket.io').listen(server); …
161 node.js  cookies  express 

11
จะระบุรหัสข้อผิดพลาด HTTP ได้อย่างไร
ฉันเหนื่อย: app.get('/', function(req, res, next) { var e = new Error('error message'); e.status = 400; next(e); }); และ: app.get('/', function(req, res, next) { res.statusCode = 400; var e = new Error('error message'); next(e); }); แต่จะมีการประกาศรหัสข้อผิดพลาด 500 เสมอ

3
Express res.sendfile การโยนข้อผิดพลาดที่ต้องห้าม
ฉันมีรหัสนี้: res.sendfile( '../../temp/index.html' ) อย่างไรก็ตามมันจะพ่นข้อผิดพลาดนี้: Error: Forbidden at SendStream.error (/Users/Oliver/Development/Personal/Reader/node_modules/express/node_modules/send/lib/send.js:145:16) at SendStream.pipe (/Users/Oliver/Development/Personal/Reader/node_modules/express/node_modules/send/lib/send.js:307:39) at ServerResponse.res.sendfile (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/response.js:339:8) at exports.boot (/Users/Oliver/Development/Personal/Reader/server/config/routes.js:18:9) at callbacks (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:161:37) at param (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:135:11) at pass (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:142:5) at Router._dispatch (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:170:5) at Object.router (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:33:10) at next (/Users/Oliver/Development/Personal/Reader/node_modules/express/node_modules/connect/lib/proto.js:199:15) มีใครบอกฉันได้ไหมว่าทำไมเรื่องนี้ถึงเป็นเช่นนั้น
160 node.js  express 

8
วิธีรับพา ธ การร้องขอด้วยอ็อบเจกต์ req ด่วน
ฉันกำลังใช้ express + node.js และฉันมีวัตถุ req คำขอในเบราว์เซอร์คือ / account แต่เมื่อฉันเข้าสู่ req.path ฉันได้รับ '/' --- ไม่ใช่ '/ บัญชี' //auth required or redirect app.use('/account', function(req, res, next) { console.log(req.path); if ( !req.session.user ) { res.redirect('/login?ref='+req.path); } else { next(); } }); req.path คือ / เมื่อควรจะเป็น / บัญชี ??

6
“ ./bin/www” ทำอะไรใน Express 4.x
ฉันเพิ่งเริ่มเรียนรู้เกี่ยวกับ Express 4.0 ในแอป Node.js ของฉันและฉันพบว่ามันสร้าง./bin/wwwไฟล์ซึ่งมีเพียงแอปพลิเคชันเซิร์ฟเวอร์และการตั้งค่าพอร์ตที่เขียนและทุกอย่างอื่น ๆ เช่นมิดเดิลแวร์และการกำหนดเส้นทางถูกกำหนดไว้ใน./app.jsไฟล์ อย่างไรก็ตามฉันไม่แน่ใจว่าสิ่งนี้./bin/wwwจะเป็นเช่นไร ผมเคยใช้ 3.x Express และผมได้กำหนดไว้เสมอเซิร์ฟเวอร์และพอร์ตการตั้งค่าเช่นเดียวกับการกำหนดเส้นทางและตัวกลางในเหมือนไฟล์และการเปิดตัวแอพพลิเคโหนดของฉันด้วย./app.js node app.jsดังนั้นจุดประสงค์ของการใช้./bin/wwwคืออะไร? มันแยกเฉพาะเซิร์ฟเวอร์และคำจำกัดความพอร์ตจากผู้อื่นหรือไม่ ตอนนี้เมื่อฉันสร้างแพคเกจโดยใช้เครื่องกำเนิดไฟฟ้าด่วนpackage.jsonรวมถึงคำจำกัดความต่อไปนี้: "scripts": { "start": "node ./bin/www" } แต่ผมสงสัยว่าผมควรจะเปิด app ของฉันโดยใช้หรือnode ./bin/www npm startฉันควรใช้คำสั่งใดเพื่อเริ่มแอพ และเมื่อฉันปรับใช้แอพของฉันไปยัง heroku ฉันควรเขียนProcfileไฟล์อะไร คือweb: node app.jsพอ?


25
npm ไม่พบ package.json
ฉันกำลังพยายามติดตั้งการอ้างอิงของตัวอย่าง: npm express 2.5.8ที่ฉันได้ดาวน์โหลด แต่แอพทั้งหมดมีข้อผิดพลาดเดียวกัน: c:\node\stylus>npm install -d npm info it worked if it ends with ok npm info using npm@1.1.1 npm info using node@v0.6.11 npm ERR! Couldn't read dependencies. npm ERR! Error: ENOENT, no such file or directory 'c:\node\stylus\package.json' npm ERR! You may report this log at: npm ERR! …
153 node.js  express  npm 


15
ข้อผิดพลาด Node.js: ไม่พบโมดูลด่วน
ฉันเขียนแอป node.js แรกของฉัน แต่ไม่พบห้องสมุดด่วน C:\ChatServer\Server>node server.js module.js:340 throw err; ^ Error: Cannot find module 'express' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (C:\ChatServer\Server\server.js:6:9) at Object.<anonymous> (C:\ChatServer\Server\server.js:25:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) แต่เอ็กซ์เพรสเป็น intalled (ด้วย-gคีย์): C:\ChatServer\Server>npm install …
145 node.js  express  npm 

6
วิธีการเข้าถึงคอลเลกชันที่มีมาก่อนกับพังพอน?
ฉันมีคอลเลกชันขนาดใหญ่ของ 300 วัตถุในฐานข้อมูลquestion testฉันสามารถโต้ตอบกับคอลเลคชันนี้ได้อย่างง่ายดายผ่านเชลล์แบบโต้ตอบของ MongoDB อย่างไรก็ตามเมื่อฉันพยายามรับคอลเลกชันผ่าน Mongoose ในแอปพลิเคชัน express.js ฉันได้รับอาร์เรย์ว่างเปล่า คำถามของฉันคือฉันจะเข้าถึงชุดข้อมูลที่มีอยู่แล้วนี้แทนที่จะสร้างใหม่แบบด่วนได้อย่างไร นี่คือรหัสบางส่วน: var mongoose = require('mongoose'); var Schema = mongoose.Schema; mongoose.connect('mongodb://localhost/test'); mongoose.model('question', new Schema({ url: String, text: String, id: Number })); var questions = mongoose.model('question'); questions.find({}, function(err, data) { console.log(err, data, data.length); }); ผลลัพธ์นี้: null [] 0

6
พักผ่อนด้วยเราเตอร์ที่ซ้อนกันของ Express.js
สมมติว่าฉันต้องการมีจุดสิ้นสุด REST ซึ่งมีลักษณะประมาณนี้: /user/ /user/user_id /user/user_id/items/ /user/user_id/items/item_id CRUD ในแต่ละกรณีหากสมเหตุสมผล ตัวอย่างเช่น / user POST สร้างผู้ใช้ใหม่ GET จะดึงข้อมูลผู้ใช้ทั้งหมด / user / user_id GET ดึงข้อมูลผู้ใช้เพียงคนเดียว รายการเป็นสิ่งเฉพาะผู้ใช้ดังนั้นฉันจึงใส่ไว้ภายใต้user_idซึ่งเป็นผู้ใช้เฉพาะ ตอนนี้เพื่อสร้างโมดูลาร์การกำหนดเส้นทางด่วนฉันสร้างอินสแตนซ์เราเตอร์สองสามตัว มีเราเตอร์สำหรับผู้ใช้และเราเตอร์สำหรับรายการ var userRouter = require('express').Router(); userRouter.route('/') .get(function() {}) .post(function() {}) userRouter.route('/:user_id') .get(function() {}) var itemRouter = require('express').Router(); itemRouter.route('/') .get(function() {}) .post(function() {}) itemRouter.route('/:item_id') .get(function() {}) app.use('/users', …

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