- Express.jsคืออะไรอะไร
- จุดประสงค์ของการใช้ Node.js คืออะไร?
- ทำไมเราต้องใช้ Express.js มันมีประโยชน์อย่างไรที่เราจะใช้กับ Node.js
- Redisคืออะไร มาพร้อมกับ Express.js หรือไม่
คำตอบ:
สิ่งนี้ง่ายกว่ามาก แต่Express.jsคือNode.jsสิ่งที่Ruby on RailsหรือSinatraคือRubyทับทิม
Express 3.x เป็นเฟรมเวิร์กเว็บแอ็พพลิเคชันที่มีน้ำหนักเบาเพื่อช่วยจัดระเบียบเว็บแอ็พพลิเคชันของคุณให้เป็นสถาปัตยกรรม MVC ที่ฝั่งเซิร์ฟเวอร์ คุณสามารถใช้ตัวเลือกที่หลากหลายสำหรับภาษาเทมเพลตของคุณ (เช่นEJS , JadeและDust.js )
จากนั้นคุณสามารถใช้ฐานข้อมูลเช่นMongoDBกับMongoose (สำหรับการสร้างแบบจำลอง) เพื่อมอบแบ็กเอนด์สำหรับแอปพลิเคชัน Node.js ของคุณ Express.js ช่วยให้คุณจัดการทุกอย่างตั้งแต่เส้นทางไปจนถึงการจัดการคำขอและมุมมอง
Redis เป็นที่เก็บคีย์ / ค่า - โดยทั่วไปใช้สำหรับเซสชันและแคชในแอปพลิเคชัน Node.js คุณสามารถทำสิ่งต่าง ๆ ได้มากกว่านี้ แต่นั่นคือสิ่งที่ฉันใช้ ฉันใช้ MongoDB เพื่อความสัมพันธ์ที่ซับซ้อนยิ่งขึ้นเช่นรายการโฆษณา <-> คำสั่งซื้อ <-> ความสัมพันธ์ของผู้ใช้ มีโมดูล (ส่วนใหญ่เชื่อมต่อ - แดง) ที่จะทำงานร่วมกับ Express.js คุณจะต้องติดตั้ง Redisฐานข้อมูลบนเซิร์ฟเวอร์ของคุณ
นี่คือลิงค์ไปยังคำแนะนำ Express 3.x: https://expressjs.com/en/3x/api.html
1) Express.js คืออะไร
Express.jsเป็นกรอบงานNode.js เป็นกรอบที่ได้รับความนิยมมากที่สุดในขณะนี้ (ติดดาวมากที่สุดใน NPM)
.
มันสร้างขึ้นจากการกำหนดค่าและความเรียบง่ายอย่างละเอียดของมิดเดิ้ลเชื่อมต่อ บางคนเปรียบเทียบ Express.js เพื่อทับทิมซินาตร้าเทียบกับขนาดใหญ่และดื้อดึงRuby on Rails
2) จุดประสงค์ของการใช้ Node.js คืออะไร?
คุณไม่จำเป็นต้องทำซ้ำรหัสเดิมซ้ำแล้วซ้ำอีก Node.js เป็นกลไกI / Oระดับต่ำซึ่งมีโมดูล HTTP หากคุณใช้โมดูล HTTP งานจำนวนมากเช่นการแจงส่วนของข้อมูล, คุกกี้, การจัดเก็บเซสชัน (ในหน่วยความจำหรือในRedis ) การเลือกรูปแบบเส้นทางที่ถูกต้องตามนิพจน์ทั่วไปจะต้องถูกนำมาใช้ใหม่ ด้วย Express.js มีไว้ให้คุณใช้
3) ทำไมเราต้องการ Express.js จริง ๆ มันมีประโยชน์อย่างไรที่เราจะใช้กับ Node.js
คำตอบแรกควรตอบคำถามของคุณ หากไม่ใช่ให้ลองเขียนเซิร์ฟเวอร์REST API ขนาดเล็กใน Node.js ธรรมดา (นั่นคือใช้เฉพาะโมดูลหลัก) และจากนั้นใน Express.js หลังจะทำให้คุณใช้เวลาและบรรทัดโค้ดน้อยลง 5-10x
Redis คืออะไร มาพร้อมกับ Express.js หรือไม่
Redis เป็นหน่วยเก็บข้อมูลคีย์ - ค่าที่คงอยู่อย่างรวดเร็ว คุณสามารถเลือกใช้เพื่อเก็บเซสชันด้วย Express.js แต่คุณไม่จำเป็นต้องทำ โดยค่าเริ่มต้น Express.js มีที่เก็บข้อมูลหน่วยความจำสำหรับเซสชัน Redis ยังสามารถใช้สำหรับการจัดคิวงานตัวอย่างเช่นงานอีเมล
ตรวจสอบการกวดวิชาของฉันบนเซิร์ฟเวอร์ REST API กับ Express.js
MVC แต่ไม่ใช่ด้วยตัวเอง
Express.js ไม่ใช่ model-view-controller โดยตัวมันเอง คุณต้องนำไลบรารีการแม็พสัมพันธ์เชิงวัตถุของคุณเองเช่น Mongoose สำหรับ MongoDB, Sequelize ( http://sequelizejs.com ) สำหรับฐานข้อมูล SQL, Waterline ( https://github.com/balderdashy/waterline ) สำหรับฐานข้อมูลจำนวนมากใน ซ้อนกัน.
ทางเลือก
กรอบงาน Node.js อื่น ๆ ที่ต้องพิจารณา ( https://www.quora.com/Node-js/Which-Node-js-framework-is-best-for-building-a-RESTful-API ):
ปรับปรุง: ฉันรวบรวมทรัพยากรนี้ที่ช่วยเหลือผู้คนในการเลือกกรอบงาน Node.js: http://nodeframework.com
อัปเดต 2: เราเพิ่มสถิติ GitHub บางอย่างลงใน nodeframework.com ดังนั้นตอนนี้คุณสามารถเปรียบเทียบระดับการพิสูจน์ทางสังคม (ดาว GitHub) สำหรับกรอบ 30+ บนหน้าเดียว
เต็มรูปแบบสแต็ค:
เพียงแค่ REST API:
Ruby on Rails ต้องการ:
ซินาตร้าชอบ:
อื่น ๆ :
มิดเดิ้ล:
กำเนิดเว็บไซต์คงที่:
module
ค่อนข้างบ่อย Framework ภายในเฟรมเวิร์กเป็นข่าวเล็กน้อยสำหรับฉัน
Express.js เป็นเฟรมเวิร์กเซิร์ฟเวอร์แอปพลิเคชันเว็บของ Node.js ซึ่งออกแบบมาสำหรับการสร้างแอปพลิเคชันเว็บหน้าเดียวหลายหน้าและไฮบริด มันเป็นกรอบมาตรฐานเซิร์ฟเวอร์พฤตินัยสำหรับ node.js
กรอบงานที่สร้างขึ้นบน Express
กรอบงาน Node.js ที่ได้รับความนิยมหลายตัวสร้างขึ้นบน Express:
LoopBack: เฟรมเวิร์ก Node.js โอเพนซอร์ซที่ขยายและขยายได้สูงเพื่อการสร้าง REST API แบบครบวงจรอย่างรวดเร็ว
Sails: กรอบ MVC สำหรับ Node.js สำหรับการสร้างแอปที่พร้อมใช้งานจริงและพร้อมใช้งานจริง
Kraken: เลเยอร์ที่ปลอดภัยและปรับขนาดได้ซึ่งขยาย Express ด้วยการจัดเตรียมโครงสร้างและการประชุม
หมายความว่า: เฟรมเวิร์ก JavaScript แบบเต็มความคิดเห็นซึ่งช่วยลดความยุ่งยากและเร่งการพัฒนาแอปพลิเคชันเว็บ
Express เพิ่มการกำหนดเส้นทางและการสนับสนุนที่ง่ายสำหรับ Dead middleware ซึ่งอนุญาตให้ส่วนขยายและคุณลักษณะที่มีประโยชน์มากมาย
ตัวอย่างเช่น,
ฉันไม่สามารถกระชับกว่านี้ สำหรับความต้องการและข้อมูลอื่น ๆ ของคุณ Google คือเพื่อนของคุณ
ExpressJS เป็นกระดูกเปลือยกรอบโปรแกรมประยุกต์บนเว็บที่ด้านบนของ NodeJS
มันสามารถใช้ในการสร้าง WebApps, RESTFUL API และอื่น ๆ ได้อย่างรวดเร็ว
รองรับเครื่องมือแม่แบบหลายตัวเช่น Jade, EJS
ExpressJS เก็บรักษาฟังก์ชันการทำงานที่เรียบง่ายไว้เป็นคุณลักษณะหลักเท่านั้นดังนั้นจึงไม่มีการรองรับ ORMs หรือ DBs เป็นค่าเริ่มต้น แต่ด้วยความพยายามเล็กน้อยแอพ expressjs สามารถรวมเข้ากับฐานข้อมูลที่แตกต่างกัน
สำหรับคำแนะนำในการเริ่มต้นใช้งานในการสร้างแอป ExpressJS ดูที่ลิงค์ต่อไปนี้:
Express เป็นเฟรมเวิร์กโมดูลสำหรับโหนดที่คุณสามารถใช้สำหรับแอ็พพลิเคชันที่ยึดตามเซิร์ฟเวอร์ / s ที่จะ "ฟัง" สำหรับการร้องขออินพุต / การเชื่อมต่อใด ๆ จากไคลเอ็นต์ เมื่อคุณใช้ใน Node จะเป็นการบอกว่าคุณกำลังร้องขอให้ใช้ไฟล์ Express ในตัวจากโมดูล Node ของคุณ
Express เป็น "แบ็คโบน" ของเว็บแอปจำนวนมากที่มีแบ็คเอนด์ใน NodeJS จากสิ่งที่ฉันรู้สินทรัพย์หลักคือการจัดเตรียมระบบการจัดเส้นทางที่จัดการบริการของ "การโต้ตอบ" ระหว่าง 2 โฮสต์ มีทางเลือกมากมายสำหรับมันเช่น Sails
Express.js เป็นเฟรมเวิร์กที่ใช้สำหรับโหนดและมักใช้เป็นเว็บแอ็พพลิเคชันสำหรับโหนด js
นี่คือลิงก์ไปยังวิดีโอเกี่ยวกับวิธีตั้งค่าแอปโหนดอย่างรวดเร็วด้วย express https://www.youtube.com/watch?v=QEcuSSnqvck
Express.js สร้างโดย TJ Holowaychuk และตอนนี้จัดการโดยชุมชน เป็นหนึ่งในเฟรมเวิร์กที่ได้รับความนิยมมากที่สุดใน node.js Express ยังสามารถใช้เพื่อพัฒนาผลิตภัณฑ์ต่าง ๆ เช่นเว็บแอปพลิเคชันหรือ RESTful API สำหรับข้อมูลเพิ่มเติมโปรดอ่านในเว็บไซต์อย่างเป็นทางการของ expressjs.com