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

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

5
ต้องการไฟล์เป็นสตริง
ฉันใช้ node + express และฉันแค่สงสัยว่าฉันจะนำเข้าไฟล์เป็นสตริงได้อย่างไร สมมติว่าฉันมีไฟล์ txt ทั้งหมดที่ฉันต้องการคือโหลดลงในตัวแปรเช่นนี้ var string = require("words.txt"); ฉันต่อต้าน modules.exports = function(){ var string = "whatever"; return string; }

13
ใช้ HTML ใน Express แทน Jade
ฉันจะกำจัด Jade ในขณะที่ใช้ Express กับ Node.JS ได้อย่างไร ฉันต้องการใช้ html ธรรมดา ในบทความอื่น ๆ ฉันเคยเห็นว่ามีคนแนะนำ app.register () ซึ่งตอนนี้เลิกใช้งานแล้วในเวอร์ชันล่าสุด
103 html  node.js  express  pug 

7
เปลี่ยนเส้นทางไปยังหน้าที่แล้วหลังจากการพิสูจน์ตัวตนใน node.js โดยใช้ passport.js
ฉันกำลังพยายามสร้างกลไกการเข้าสู่ระบบโดยใช้ node.js, express และ passport.js การเข้าสู่ระบบใช้งานได้ค่อนข้างดีนอกจากนี้เซสชันจะถูกจัดเก็บไว้อย่างดีด้วยการ redis แต่ฉันมีปัญหาในการเปลี่ยนเส้นทางผู้ใช้ไปยังจุดที่เขาเริ่มต้นก่อนที่จะได้รับแจ้งให้ตรวจสอบสิทธิ์ เช่นผู้ใช้ดังต่อไปนี้การเชื่อมโยงhttp://localhost:3000/hiddenถูกเปลี่ยนเส้นทางไปแล้วแต่แล้วฉันต้องการให้เขาถูกนำกลับมาอีกครั้งเพื่อhttp://localhost:3000/loginhttp://localhost:3000/hidden จุดประสงค์ของสิ่งนี้คือหากผู้ใช้เข้าถึงเพจโดยสุ่มที่เขาต้องเข้าสู่ระบบก่อนเขาจะถูกเปลี่ยนเส้นทางไปยังไซต์ / ล็อกอินโดยให้ข้อมูลประจำตัวของเขาจากนั้นจะถูกเปลี่ยนเส้นทางกลับไปยังไซต์ที่เขาพยายามเข้าถึงก่อนหน้านี้ นี่คือโพสต์ล็อกอินของฉัน app.post('/login', function (req, res, next) { passport.authenticate('local', function (err, user, info) { if (err) { return next(err) } else if (!user) { console.log('message: ' + info.message); return res.redirect('/login') } else { req.logIn(user, function (err) { if (err) …

5
Node.js - การบันทึก / ใช้มอร์แกนและวินสตัน
เราใช้morganเพื่อบันทึกการเปลี่ยนแปลงด่วนของเรา: var morgan = require('morgan'); morgan('combined'); // a format string morgan(':remote-addr :method :url :uuid'); // a custom function morgan(function (req, res) { return req.method + ' ' + req.url + ' ' + req.uuid; }) นอกจากนี้เรายังใช้ winstonเพื่อบันทึกการบันทึกอื่น ๆ ของเรา: var winston = require('winston'); var logger = new (winston.Logger)({ transports: [ …

12
การอัปโหลดภาพโดยใช้ Node.js, Express และ Mongoose
โปรดพิจารณาคำตอบที่ใหม่กว่าซึ่งมีข้อมูลที่ทันสมัยกว่าเนื่องจากมีการเปลี่ยนแปลงในช่วงหลายปีที่ผ่านมา! เนื่องจากไลบรารี Node.js ใหม่จำนวนมากถูกแสดงอย่างรวดเร็วล้าสมัยและมีตัวอย่างค่อนข้างน้อยฉันต้องการถามเกี่ยวกับการอัปโหลดภาพโดยใช้: โหนด js (v0.4.1) ด่วน (1.0.7) พังพอน (1.1.0). คนอื่นทำได้อย่างไร ฉันพบว่าโหนดน่ากลัวแต่ฉันยังใหม่กับการอัปโหลดภาพโดยทั่วไปดังนั้นฉันจึงต้องการเรียนรู้สิ่งต่างๆทั่วไปและวิธีการทำเช่นนั้นโดยใช้ Node.js และ Express

4
จะจัดโครงสร้างแอปพลิเคชัน express.js ได้อย่างไร?
มีหลักการทั่วไปสำหรับการแบ่งและแยกapp.jsไฟล์ในแอปพลิเคชันExpress.jsหรือไม่ หรือเป็นเรื่องปกติที่จะเก็บทุกอย่างไว้ในไฟล์เดียว?

2
Node.js + Express: เส้นทางเทียบกับคอนโทรลเลอร์
ใหม่สำหรับ Node.js และ Express ฉันพยายามทำความเข้าใจทั้งสองแนวคิดที่ดูเหมือนทับซ้อนกันเส้นทางเทียบกับคอนโทรลเลอร์ ฉันได้เห็นตัวอย่างแล้วว่า app.js + route / * ที่เรียบง่ายดูเหมือนจะเพียงพอสำหรับกำหนดเส้นทางคำขอต่างๆที่จำเป็น อย่างไรก็ตามฉันยังเห็นผู้คนพูดถึงการใช้คอนโทรลเลอร์และบางคนก็บอกเป็นนัยถึงโมเดล MVC ที่เป็นทางการมากขึ้น (???) จะดีมากถ้ามีใครช่วยไขปริศนานี้ให้ฉันได้และถ้าคุณมีตัวอย่างที่ดีในการตั้งค่าคอนโทรลเลอร์ในกรอบงาน Node.js + Express จะดีมาก! ขอบคุณ
102 node.js  express 

8
วิธีเปิดใช้งานการแชร์ทรัพยากรข้ามแหล่งที่มา (CORS) ในเฟรมเวิร์ก express.js บน node.js
ฉันกำลังพยายามสร้างเว็บเซิร์ฟเวอร์ใน node.js ที่รองรับการเขียนสคริปต์ข้ามโดเมนในขณะที่ยังให้ไฟล์แบบคงที่จากไดเร็กทอรีสาธารณะ ฉันใช้ express.js และไม่แน่ใจว่าจะอนุญาตให้ใช้สคริปต์ข้ามโดเมนได้อย่างไร ( Access-Control-Allow-Origin: *) ฉันเห็นโพสต์นี้ซึ่งฉันไม่พบว่ามีประโยชน์ var express = require('express') , app = express.createServer(); app.get('/', function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); next(); }); app.configure(function () { app.use(express.methodOverride()); app.use(express.bodyParser()); app.use(app.router); }); app.configure('development', function () { app.use(express.static(__dirname + '/public')); app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); …

5
เหตุใดฉันจึงควรใช้ Restify
ฉันมีความต้องการที่จะสร้าง REST API ใน node.js และกำลังมองหาเฟรมเวิร์กที่มีน้ำหนักเบามากกว่า express.js ซึ่งอาจหลีกเลี่ยงคุณสมบัติที่ไม่ต้องการและจะทำหน้าที่เหมือนเฟรมเวิร์กที่สร้างขึ้นเองสำหรับการสร้าง REST API ขอแนะนำให้ Restify จาก Intro สำหรับกรณีเดียวกัน อ่านทำไมต้องใช้ restify และไม่แสดงออก? ดูเหมือนว่า restify เป็นทางเลือกที่ดี แต่ความประหลาดใจเกิดขึ้นเมื่อฉันลองใช้ทั้งสองอย่างด้วยการโหลด ฉันสร้าง REST API ตัวอย่างใน Restify และมีคำขอ 1,000 คำขอต่อวินาที ทำให้ฉันประหลาดใจที่เส้นทางเริ่มไม่ตอบสนองหลังจากนั้นสักครู่ แอพเดียวกันที่สร้างขึ้นบน express.js จัดการทั้งหมด ฉันกำลังใช้การโหลดกับ API ผ่านทาง var FnPush = setInterval(function() { for(i=0;i<1000;i++) SendMsg(makeMsg(i)); }, 1000); function SendMsg(msg) { var …
101 node.js  express  restify 

4
การตั้งค่าไดเร็กทอรีแบบคงที่ที่แตกต่างกันสองรายการในเฟรมเวิร์ก node.js Express
เป็นไปได้ไหม? ฉันต้องการตั้งค่าไดเรกทอรีที่แตกต่างกันสองรายการเพื่อให้บริการไฟล์แบบคงที่ สมมติว่า / public และ / mnt

8
หนึ่งหน่วยทดสอบเส้นทางด้วย Express อย่างไร
ผมอยู่ในขั้นตอนของการเรียนรู้ Node.js และได้รับการเล่นรอบกับเอ็กซ์เพรส ชอบกรอบมากอย่างไรก็ตามฉันมีปัญหาในการหาวิธีเขียนหน่วย / การทดสอบการรวมสำหรับเส้นทาง ความสามารถในการหน่วยโมดูลที่เรียบง่ายการทดสอบเป็นเรื่องง่ายและได้รับการทำมันด้วยMocha ; อย่างไรก็ตามการทดสอบหน่วยของฉันด้วย Express ล้มเหลวเนื่องจากวัตถุตอบสนองที่ฉันส่งผ่านไม่คงค่าไว้ ฟังก์ชั่นเส้นทางภายใต้การทดสอบ (เส้นทาง / index.js): exports.index = function(req, res){ res.render('index', { title: 'Express' }) }; โมดูลทดสอบหน่วย: var should = require("should") , routes = require("../routes"); var request = {}; var response = { viewName: "" , data : {} , render: …
101 node.js  express 

3
แสดงตัวแปรเป็น HTML ใน EJS
ฉันใช้ไลบรารี Forms สำหรับ Node.js ( Forms ) ซึ่งจะสร้างแบบฟอร์มให้ฉันในแบ็กเอนด์ดังนี้: var signup_form = forms.create({ username: fields.string({required: true}) , password: fields.password({required: true}) , confirm: fields.password({ required: true , validators: [validators.matchField('password')] }) , email: fields.email() }); var signup_form_as_html = signup_form.toHTML(); บรรทัดสุดท้ายvar signup_var signup_form_as_html = signup_form.toHTML();สร้างบล็อก HTML ซึ่งมีลักษณะดังนี้: <div class="field required"><label for="id_username">Username</label><input type="text" name="username" id="id_username" …
99 node.js  express  ejs 

2
การใช้ PassportJS จะส่งผ่านฟิลด์แบบฟอร์มเพิ่มเติมไปยังกลยุทธ์การพิสูจน์ตัวตนภายในได้อย่างไร
ฉันใช้ passportJS และฉันต้องการที่จะจัดหามากกว่าเพียงreq.body.usernameและreq.body.passwordกับกลยุทธ์การตรวจสอบของฉัน (หนังสือเดินทางท้องถิ่น) ฉันมีเขตข้อมูลแบบฟอร์มที่ 3: username, passwordและfoo ฉันจะเข้าถึงได้อย่างไรreq.body.fooจากกลยุทธ์ในพื้นที่ของฉันซึ่งมีลักษณะดังนี้: passport.use(new LocalStrategy( {usernameField: 'email'}, function(email, password, done) { User.findOne({ email: email }, function(err, user) { if (err) { return done(err); } if (!user) { return done(null, false, { message: 'Unknown user' }); } if (password != 1212) { return done(null, false, …

5
อนุญาตคำขอ CORS REST ไปยังแอปพลิเคชัน Express / Node.js บน Heroku
ฉันได้เขียน REST API บนเฟรมเวิร์กด่วนสำหรับ node.js ที่ใช้กับคำขอจากคอนโซล js ใน Chrome และแถบ URL ฯลฯ ตอนนี้ฉันกำลังพยายามทำให้มันทำงานกับคำขอจากแอปอื่น โดเมน (CORS) คำขอแรกที่สร้างขึ้นโดยอัตโนมัติโดยส่วนหน้าของจาวาสคริปต์คือการ / api / search? uri = และดูเหมือนจะล้มเหลวในคำขอ OPTIONS "preflight" ในแอปด่วนของฉันฉันกำลังเพิ่มส่วนหัว CORS โดยใช้: var allowCrossDomain = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With'); // intercept OPTIONS method if ('OPTIONS' …
98 node.js  rest  heroku  express  cors 

16
แอป Node.js / Express.js ทำงานบนพอร์ต 3000 เท่านั้น
ฉันมีแอป Node.js / Express.js ที่ทำงานบนเซิร์ฟเวอร์ของฉันซึ่งใช้งานได้กับพอร์ต 3000 เท่านั้นและฉันกำลังพยายามหาสาเหตุ นี่คือสิ่งที่ฉันพบ: โดยไม่ระบุพอร์ต ( app.listen()) แอปจะทำงาน แต่หน้าเว็บไม่โหลด บนพอร์ต 3001 ( app.listen(3001)) หรือพอร์ตอื่น ๆ ที่ไม่ได้ใช้งานแอปจะทำงาน แต่หน้าเว็บไม่โหลด ในพอร์ต 2999 แอปแสดงข้อผิดพลาดเนื่องจากมีบางอย่างกำลังใช้พอร์ตนั้น บนพอร์ต 3000 แอปจะทำงานและโหลดหน้าเว็บได้ดี ฉันรู้ว่าแอป Express มีค่าเริ่มต้นเป็นพอร์ต 3000 แต่น่าแปลกที่แอปของฉันจะทำงานก็ต่อเมื่อฉันทำให้มันทำงานบนพอร์ต 3000 ( app.listen(3000)) อย่างชัดเจน ฉันพบสิ่งนี้ในบรรทัด 220 ของ/usr/bin/express: app.set(\'port\', process.env.PORT || 3000); สิ่งที่ทำตามที่ระบุไว้ก่อนหน้านี้: การตั้งค่าพอร์ตเป็นสิ่งที่ระบุไว้หรือเป็น 3000 หากไม่มีการระบุ ฉันจะทำให้แอปทำงานบนพอร์ตอื่นเช่น 8080 หรือ …

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