บทช่วยสอน Node.js - คำแนะนำที่สมบูรณ์สำหรับผู้เริ่มต้น



Node.js Tutorial นี้จะพูดถึงสถาปัตยกรรมพื้นฐานการทำงานและโมดูลต่างๆของ Node.js นอกจากนี้ยังแสดงให้เห็นถึงการนำ Node.js และ Express.js ไปใช้งานจริง

หากคุณเคยได้ยินเกี่ยวกับ Node.js มาก่อนคุณอาจรู้ว่ามันเป็นเฟรมเวิร์กที่โดดเด่นและทรงพลังที่สุดของ JavaScript นับตั้งแต่เปิดตัวก็ยังคงครองตลาดไอทีอย่างต่อเนื่อง แม้จะมีการเปิดตัวใหม่และมีชีวิตชีวา ชอบ , , Meteor ฯลฯ ความนิยมของ Node.js ไม่เคยหยุดนิ่ง สงสัยว่าทำไม? ด้วยความช่วยเหลือของบทช่วยสอน Node.js นี้ฉันจะให้ข้อมูลเชิงลึกที่สมบูรณ์แก่คุณ เตรียมตัวตกหลุมรัก Node.js ได้เลย

ในบทช่วยสอน Node.js นี้ฉันจะพูดถึงหัวข้อด้านล่าง:





Node.js คืออะไร?

Node.js เป็นเฟรมเวิร์กที่มีประสิทธิภาพที่พัฒนาบนไฟล์ เครื่องยนต์ JavaScript V8 ของ Chrome ที่รวบรวม JavaScript ไว้ในรหัสเครื่องดั้งเดิมโดยตรง เป็นเฟรมเวิร์กที่มีน้ำหนักเบาที่ใช้สำหรับการสร้างแอปพลิเคชันเว็บฝั่งเซิร์ฟเวอร์และขยาย JavaScript API เพื่อนำเสนอฟังก์ชันฝั่งเซิร์ฟเวอร์ตามปกติ โดยทั่วไปจะใช้สำหรับการพัฒนาแอปพลิเคชันขนาดใหญ่โดยเฉพาะอย่างยิ่งสำหรับไซต์สตรีมมิ่งวิดีโอแอปพลิเคชันหน้าเดียวและเว็บแอปพลิเคชันอื่น ๆ โหนด js ทำให้ การใช้โมเดล I / O ที่ขับเคลื่อนด้วยเหตุการณ์และไม่ปิดกั้นซึ่งทำให้เป็นตัวเลือกที่เหมาะสมสำหรับแอปพลิเคชันแบบเรียลไทม์ที่เน้นข้อมูลเป็นจำนวนมาก

เช่นเดียวกับภาษาโปรแกรมอื่น ๆ node.js ใช้ประโยชน์จากแพ็คเกจและโมดูล นี่คือไลบรารีที่มีฟังก์ชันต่างๆและนำเข้าจาก npm (node ​​package manager) เข้าสู่โค้ดของเราและใช้ในโปรแกรม คุณสมบัติหลักบางประการที่กำหนด Node.js มีดังต่อไปนี้:



คุณสมบัติของ Node.js

  1. โอเพ่นซอร์ส
    Node.js คือใบอนุญาต MIT ของเฟรมเวิร์กโอเพนซอร์สที่ได้รับการสนับสนุนจากชุมชนขนาดใหญ่ ชุมชนมีการใช้งานค่อนข้างมากมีส่วนช่วยเพิ่มความสามารถใหม่ ๆ ให้กับแอปพลิเคชัน Node.js
  2. ง่ายและรวดเร็ว
    เนื่องจาก Node.js สร้างขึ้นบน V8 JavaScript Engine ของ Google Chrome ไลบรารีจึงสามารถเรียกใช้โค้ดได้อย่างรวดเร็ว
  3. อะซิงโครนัส
    ไลบรารีทั้งหมดของ Node.js เป็นแบบอะซิงโครนัสซึ่งหมายความว่าเซิร์ฟเวอร์ที่ใช้ Node.js จะไม่รอให้ API ส่งการตอบกลับและไปยัง API ถัดไป
  4. ความสามารถในการปรับขนาดได้สูง
    เนื่องจากกลไกของเหตุการณ์ Node.js จึงปรับขนาดได้สูงและช่วยเซิร์ฟเวอร์ในการตอบสนองที่ไม่ปิดกั้น
  5. เธรดเดียว
    ด้วยความช่วยเหลือของการวนซ้ำเหตุการณ์ Node.js สามารถทำตามแบบจำลองเธรดเดียว ซึ่งช่วยให้โปรแกรมเดียวสามารถจัดการคำขอหลายรายการได้
  6. ไม่มีการบัฟเฟอร์
    ฟังก์ชันหลักอย่างหนึ่งของแอปพลิเคชัน Node.js คือไม่เคยบัฟเฟอร์ข้อมูลใด ๆ
  7. ข้ามแพลตฟอร์ม
    Node.js สามารถสร้างและปรับใช้บนแพลตฟอร์มต่างๆเช่น Windows, MAC และ Linux ได้อย่างง่ายดาย

ตอนนี้เรามาดูกันดีกว่าและดูวิธีปรับใช้โค้ดจริงบนเบราว์เซอร์ แต่ก่อนหน้านั้นคุณต้องดาวน์โหลดและติดตั้งในระบบของคุณ คุณสามารถอ้างอิงบทความอื่น ๆ ของฉันเพื่อรับทราบข้อมูลทั้งหมด กระบวนการติดตั้ง Node.js .

ตอนนี้เรามาดูบทช่วยสอน Node.js กันต่อไปซึ่งผมจะพูดถึงองค์ประกอบที่สำคัญที่สุดของ Node.js นั่นคือ npm

NPM (Node Package Manager)

NPM ย่อมาจาก Node Package Manager ซึ่งตามชื่อที่แนะนำคือตัวจัดการแพ็คเกจสำหรับแพ็คเกจ / โมดูล Node.js จาก Node เวอร์ชัน 0.6.0 เป็นต้นไป npm ถูกเพิ่มเป็นค่าเริ่มต้นในการติดตั้งโหนด ช่วยให้คุณประหยัดจากความยุ่งยากในการติดตั้ง npm อย่างชัดเจน



โดยทั่วไป NPM ช่วยได้สองวิธี:

เปลี่ยนสตริงเป็นอาร์เรย์ php
  1. จัดหาและโฮสต์ที่เก็บออนไลน์สำหรับแพ็คเกจ / โมดูล node.js ซึ่งสามารถดาวน์โหลดและใช้ในโครงการของเราได้อย่างง่ายดาย คุณสามารถค้นหาได้ที่นี่: npmjs.com
  2. จัดเตรียมยูทิลิตี้บรรทัดคำสั่งเพื่อติดตั้งแพ็กเกจ Node.js ต่างๆจัดการเวอร์ชัน Node.js และการอ้างอิงของแพ็กเกจ

แต่ตอนนี้คุณต้องสงสัยว่าโมดูลเหล่านี้คืออะไรและจะช่วยเราในการสร้างแอปพลิเคชัน Node.js ได้อย่างไร ในส่วนถัดไปของบทช่วยสอน Node.js นี้ฉันจะให้ข้อมูลเชิงลึกที่สมบูรณ์เกี่ยวกับโมดูล Node.js

โมดูล Node.js

โมดูลใน Node.js แสดงถึงฟังก์ชันต่างๆที่รวมอยู่ในไฟล์ JS เดียวหรือหลายไฟล์ โมดูลเหล่านี้มีบริบทที่ไม่เหมือนใครดังนั้นจึงไม่รบกวนหรือก่อให้เกิดมลพิษต่อขอบเขตของโมดูลอื่น ๆ

โมดูลเหล่านี้ช่วยให้สามารถใช้โค้ดซ้ำได้และเพิ่มความสะดวกในการใช้งาน โดยทั่วไป Node.js มีโมดูลสามประเภท:

  1. โมดูลหลัก
  2. โมดูลท้องถิ่น
  3. โมดูลของบุคคลที่สาม

โมดูลหลัก

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

ด้านล่างนี้ฉันได้ระบุโมดูลหลักที่สำคัญบางส่วนไว้

โมดูลหลัก คำอธิบาย
http มีคลาสวิธีการและเหตุการณ์ที่จำเป็นในการสร้างเซิร์ฟเวอร์ HTTP ของ Node.js
url มีเมธอดสำหรับการแก้ปัญหา URL และการแยกวิเคราะห์ในโหนด
querystring มีวิธีการจัดการกับสตริงการสืบค้นของโหนด
เส้นทาง มีวิธีจัดการกับพา ธ ไฟล์
fs มีคลาสวิธีการและเหตุการณ์ที่จะทำงานกับไฟล์ I / O
มีประโยชน์ ประกอบด้วยฟังก์ชันยูทิลิตี้ที่สามารถเป็นประโยชน์สำหรับโปรแกรมเมอร์

คุณสามารถโหลดโมดูลหลักของคุณโดยใช้รหัสด้านล่าง:

โมดูล var = ต้องการ ('module_name')

มาดูกันว่า 'โมดูลภายใน' คืออะไร

โมดูลท้องถิ่น

โมดูลโลคัลของ Node.js เป็นโมดูลแบบกำหนดเองที่สร้างขึ้นโดยผู้ใช้ / ผู้พัฒนาในแอปพลิเคชัน โมดูลเหล่านี้สามารถรวมฟังก์ชันต่างๆที่รวมอยู่ในไฟล์และโฟลเดอร์ที่แตกต่างกันซึ่งสามารถแจกจ่ายได้อย่างง่ายดายในชุมชน Node.js โดยใช้ NPM

โมดูลเหล่านี้โหลดในลักษณะเดียวกับโมดูลหลัก ให้คุณดูวิธีการทำโดยใช้ตัวอย่างพื้นฐาน

สร้างไฟล์ module.js แบบกำหนดเอง / โลคัลของคุณ

var detail = {name: function (name) {console.log ('Name:' + name)}, domain: function (domain) {console.log ('Domain:' + domain)}} module.exports = detail

รวมไฟล์โมดูลของคุณไว้ในไฟล์แอปพลิเคชันหลักของคุณ

var myLogModule = ต้องใช้ ('./ Local_module.js') myLogModule.name ('Edureka') myLogModule.domain ('การศึกษา')

ตอนนี้คุณสามารถเรียกใช้ไฟล์เหล่านี้โดยใช้คำสั่งด้านล่าง:

โหนด application.js

ตอนนี้ให้ฉันแสดงให้คุณเห็นว่าโมดูลภายนอกคืออะไร

โมดูลภายนอก

คุณสามารถใช้ภายนอกหรือ 3โมดูลปาร์ตี้โดยดาวน์โหลดผ่าน NPM เท่านั้น โดยทั่วไปแล้วโมดูลเหล่านี้ได้รับการพัฒนาโดยนักพัฒนารายอื่นและใช้งานได้ฟรี โมดูลภายนอกที่ดีที่สุดเพียงไม่กี่โมดูล ได้แก่ express, react, gulp, mongoose, mocha เป็นต้น

การโหลดโมดูลของบุคคลที่สามทั่วโลก:

npm ติดตั้ง --g

รวมไฟล์โมดูลของคุณไว้ในไฟล์แอปพลิเคชันหลักของคุณ:

npm ติดตั้ง - บันทึก

ไฟล์ JSON

package.json ไฟล์ ใน Node.js คือหัวใจของแอปพลิเคชันทั้งหมด โดยพื้นฐานแล้วเป็นไฟล์รายการที่มีข้อมูลเมตาของโครงการ ดังนั้นการทำความเข้าใจและการทำงานกับไฟล์นี้จึงมีความสำคัญมากสำหรับการพัฒนาโครงการ Node ที่ประสบความสำเร็จ

โดยทั่วไปไฟล์ package.json ประกอบด้วยข้อมูลเมตาของแอปพลิเคชันซึ่งแบ่งออกเป็นสองประเภทด้านล่าง:

  1. การระบุคุณสมบัติของข้อมูลเมตา: ซึ่งประกอบด้วยคุณสมบัติเช่นชื่อโครงการเวอร์ชันโมดูลปัจจุบันใบอนุญาตผู้เขียนโครงการคำอธิบายโครงการเป็นต้น
  1. เขียนลงไฟล์โดยตรง: คุณสามารถเขียนข้อมูลที่จำเป็นลงในไฟล์ package.json ได้โดยตรงและรวมไว้ในโปรเจ็กต์ของคุณ

ตอนนี้คุณได้ทำความคุ้นเคยกับส่วนประกอบต่างๆของแอปพลิเคชัน Node JS แล้ว ในส่วนถัดไปของบทช่วยสอน Node.js นี้ฉันจะแบ่งปันข้อมูลพื้นฐานเกี่ยวกับ Node Js เพื่อให้เราสามารถเริ่มต้นได้ด้วยตนเอง

พื้นฐาน Node.js

เนื่องจาก Node.js เป็นเฟรมเวิร์ก JavaScript จึงใช้ไวยากรณ์ JavaScript หากคุณต้องการเรียนรู้ JavaScript โดยละเอียดคุณสามารถอ้างถึงสิ่งนี้ . สำหรับตอนนี้ฉันจะอธิบายพื้นฐานเกี่ยวกับ Node.js ให้กับคุณเช่น:

ประเภทข้อมูล

เช่นเดียวกับภาษาโปรแกรมอื่น ๆ Node.js มีประเภทข้อมูลที่หลากหลายซึ่งแบ่งออกเป็นประเภทข้อมูลดั้งเดิมและไม่ใช่แบบดั้งเดิม

ประเภทข้อมูลดั้งเดิม ได้แก่ :

  1. สตริง
  2. จำนวน
  3. บูลีน
  4. Null
  5. ไม่ได้กำหนด

ประเภทข้อมูลที่ไม่ใช่แบบดั้งเดิม ได้แก่ :

  1. วัตถุ
  2. วันที่
  3. อาร์เรย์

ตัวแปร

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

ไวยากรณ์:

var varName = ค่า

ตัวดำเนินการ

Node.js รองรับตัวดำเนินการด้านล่าง:

แท็ก span ใน html คืออะไร
ประเภทตัวดำเนินการ ตัวดำเนินการ
เลขคณิต +, -, /, *,%, ++, -
การมอบหมายงาน =, + =, - =, * =, / =,% =
เงื่อนไข =?
การเปรียบเทียบ ==, ===,! =,! ==,>,> =,<, <=,
ตรรกะ &&, ||,!
Bitwise &, |, ^, ~,<>, >>>

ฟังก์ชั่น

ฟังก์ชั่นใน Node.js คือบล็อกของโค้ดที่มีชื่อและถูกเขียนขึ้นเพื่อให้บรรลุภารกิจเฉพาะ คุณต้องใช้ฟังก์ชันคำหลักเพื่อสร้าง โดยทั่วไปฟังก์ชันเป็นกระบวนการสองขั้นตอน อันดับแรกคือการกำหนดฟังก์ชันและอย่างที่สองเรียกใช้ ด้านล่างนี้คือไวยากรณ์ของการสร้างและเรียกใช้ฟังก์ชัน:

ตัวอย่าง:

// การกำหนดฟังก์ชัน display_Name (firstName, lastName) {alert ('Hello' + firstName + '' + lastName)} // เรียกใช้ฟังก์ชัน display_Name ('Park', 'Jimin')

วัตถุ

ออบเจ็กต์คือชนิดข้อมูลที่ไม่ใช่พื้นฐานที่สามารถเก็บค่าได้หลายค่าในแง่ของคุณสมบัติและวิธีการ อ็อบเจ็กต์ Node.js เป็นเอนทิตีแบบสแตนด์อโลนเนื่องจากไม่มีแนวคิดเกี่ยวกับคลาส คุณสามารถสร้างวัตถุได้สองวิธี:

  1. การใช้ Object literal
  2. การใช้ตัวสร้างวัตถุ

ตัวอย่าง:

// วัตถุที่มีคุณสมบัติและวิธีการ var พนักงาน = {// properties firstName: 'Minho', lastName: 'Choi', อายุ: 35, เงินเดือน: 50000, // method getFullName: function () {return this.firstName + '' + this.lastName}}

ระบบไฟล์

ในการเข้าถึงระบบไฟล์ฟิสิคัล Node.js ใช้ประโยชน์จากไฟล์ fs โมดูลซึ่งโดยทั่วไปจะดูแลการดำเนินการ I / O ของไฟล์แบบอะซิงโครนัสและซิงโครนัสทั้งหมด โมดูลนี้นำเข้าโดยใช้คำสั่งด้านล่าง:

var fs = ต้องการ ('fs')

การใช้งานทั่วไปบางประการสำหรับโมดูลระบบไฟล์ ได้แก่ :

  • อ่านไฟล์
    1. fs.readFile ()
var http = ต้องใช้ ('http') var fs = ต้องใช้ ('fs') http.createServer (ฟังก์ชัน (req, res) {fs.readFile ('script.txt', ฟังก์ชัน (ผิดพลาด, ข้อมูล) {res.writeHead ( 200, {'Content-Type': 'text / html'}) res.write (data) res.end ()})}). listen (8080)
  • สร้างไฟล์
    1. appendFile ()
    2. เปิด()
    3. writeFile ()
  • อัปเดตไฟล์
    1. fs.appendFile ()
    2. fs.writeFile ()
  • ลบไฟล์
    1. fs.unlink ()
  • เปลี่ยนชื่อไฟล์
    1. fs.rename ()

ดังนั้นด้วยคำสั่งเหล่านี้คุณสามารถดำเนินการที่จำเป็นทั้งหมดในไฟล์ของคุณได้ ตอนนี้เรามาดูบทช่วยสอน Node.js กันดีกว่าและดูว่าเหตุการณ์คืออะไรและจัดการอย่างไรใน Node.js

เหตุการณ์

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

โดยพื้นฐานแล้วในแอปพลิเคชัน Node.js จะมีลูปหลักที่รอและรับฟังเหตุการณ์และเมื่อเหตุการณ์ใด ๆ เสร็จสมบูรณ์มันจะเริ่มต้นฟังก์ชันเรียกกลับทันที

แผนภาพด้านล่างแสดงถึงการขับเคลื่อนของเหตุการณ์ใน Node.js

โมเดลเธรด - บทช่วยสอน Node.js - Edureka

สิ่งหนึ่งที่คุณต้องทราบก็คือแม้ว่าเหตุการณ์จะดูคล้ายกับฟังก์ชันเรียกกลับ แต่ความแตกต่างอยู่ที่ฟังก์ชันการทำงาน เมื่อฟังก์ชันอะซิงโครนัสส่งคืนการเรียกกลับผลลัพธ์จะถูกเรียกใช้ในทางกลับกันการจัดการเหตุการณ์จะทำงานบนรูปแบบผู้สังเกตการณ์อย่างสมบูรณ์ และใน Node.js เมธอดที่รับฟังเหตุการณ์นั้นเรียกว่าผู้สังเกตการณ์ ในขณะที่เหตุการณ์ถูกทริกเกอร์ฟังก์ชัน Listener จะเริ่มดำเนินการโดยอัตโนมัติ โมดูลเหตุการณ์และคลาส EventEmitter จัดเตรียมเหตุการณ์ในตัวหลายเหตุการณ์ซึ่งใช้เพื่อผูกเหตุการณ์กับผู้ฟังเหตุการณ์ ด้านล่างฉันได้เขียนไวยากรณ์สำหรับสิ่งนั้น

การเชื่อมโยงเหตุการณ์กับผู้ฟังเหตุการณ์

// นำเข้าโมดูลเหตุการณ์ var my_Events = ต้องใช้ ('events') // สร้างวัตถุ eventEmitter var my_EveEmitter = my_Events.EventEmitter ใหม่ ()

การเชื่อมโยงตัวจัดการเหตุการณ์กับเหตุการณ์

// การเชื่อมโยงเหตุการณ์และตัวจัดการเหตุการณ์ my_EveEmitter.on ('eventName', eventHandler)

การเริ่มต้นเหตุการณ์

// เริ่มเหตุการณ์ my_EveEmitter.emit ('eventName')

ตอนนี้เรามาลองใช้สิ่งที่ฉันได้พูดคุยในส่วนกิจกรรม Node.js นี้โค้ดด้านล่างนี้แสดงการแสดงเหตุการณ์ง่ายๆใน Node.js

var emitter = ต้องใช้ ('events') ฟังก์ชัน EventEmitter iterateProcessor (num) {var emt = new emitter () setTimeout (function () {for (var i = 1 i & lt = num i ++) {emt.emit ('BeforeProcess' , i) console.log ('Processing Iteration:' + i) emt.emit ('AfterProcess', i)}}, 5000) return emt} var it = iterateProcessor (5) it.on ('BeforeProcess', function ( ข้อมูล) {console.log ('เริ่มต้นกระบวนการสำหรับ' + ข้อมูล)}) it.on ('AfterProcess', function (info) {console.log ('Finishing processing for' + info)

ในส่วนถัดไปของบทช่วยสอน Node.js นี้ฉันจะให้ข้อมูลเชิงลึกเกี่ยวกับโมดูลที่สำคัญที่สุดของ Node.js ที่เรียกว่าโมดูล HTTP

โมดูล HTTP

โดยทั่วไปแล้ว Node.js จะใช้สำหรับการพัฒนาแอพพลิเคชั่นบนเซิร์ฟเวอร์ แต่เมื่อใช้โมดูลนี้คุณสามารถสร้างเว็บเซิร์ฟเวอร์ที่ตอบสนองคำขอของลูกค้าได้อย่างง่ายดาย ดังนั้นจึงเรียกอีกอย่างว่า Web Module และมีโมดูลเช่น HTTP และการร้องขอที่อำนวยความสะดวก Node.js ในการประมวลผลคำขอของเซิร์ฟเวอร์

คุณสามารถรวมโมดูลนี้ไว้ในแอปพลิเคชัน Node.js ของคุณได้อย่างง่ายดายเพียงแค่เขียนโค้ดด้านล่าง:

var http = ต้องใช้ ('http')

ด้านล่างฉันได้เขียนโค้ดซึ่งแสดงวิธีการพัฒนาเว็บเซิร์ฟเวอร์ใน Node.js

// เรียก http ไลบรารี var http = ต้องใช้ ('http') var url = ต้องใช้ ('url') // การสร้างเซิร์ฟเวอร์ var server = http.createServer (ฟังก์ชัน (req, res) {// การตั้งค่าส่วนหัวเนื้อหา res.writeHead ( 200, ('Content-Type', 'text / html')) var q = url.parse (req.url, true) .query var txt = q.year + '' + q.month // ส่งสตริงเพื่อตอบกลับ res.end (txt)}) // กำหนด 8082 เป็นพอร์ตการฟังของเซิร์ฟเวอร์ server.listen (8082)

ในส่วนถัดไปของบทช่วยสอน Node.js นี้ฉันจะพูดถึง Express.js ซึ่งถูกใช้อย่างมากสำหรับการพัฒนาแอปพลิเคชันบนเว็บฝั่งเซิร์ฟเวอร์

Express.js

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

Express.js ได้รับการพัฒนาบนโมดูลมิดเดิลแวร์ของ Node.js ที่เรียกว่า เชื่อมต่อ . โมดูลเชื่อมต่อใช้ประโยชน์จากไฟล์ http โมดูลเพื่อสื่อสารกับ Node.js ดังนั้นหากคุณกำลังทำงานกับโมดูลมิดเดิลแวร์ที่ใช้การเชื่อมต่อใด ๆ คุณสามารถรวมเข้ากับ Express.js ได้อย่างง่ายดาย

ไม่เพียงแค่นี้ข้อดีบางประการของ Express.js ได้แก่ :

  • ทำให้การพัฒนาเว็บแอปพลิเคชันเร็วขึ้น
  • ช่วยในการสร้างแอปพลิเคชันบนมือถือและเว็บสำหรับประเภทหน้าเดียวหลายหน้าและแบบไฮบริด
  • Express มีเครื่องยนต์สองแบบคือ Jade และ EJS
  • Express เป็นไปตามสถาปัตยกรรม Model-View-Controller (MVC)
  • ทำให้การรวมกับฐานข้อมูลเช่น MongoDB, Redis, MySQL
  • กำหนดข้อผิดพลาดในการจัดการมิดเดิลแวร์
  • ลดความซับซ้อนของการกำหนดค่าและปรับแต่งได้ง่ายสำหรับแอปพลิเคชัน

ด้วยคุณสมบัติทั้งหมดนี้ Express จะรับผิดชอบส่วนแบ็กเอนด์ใน MEAN stack Mean Stack คือสแต็กซอฟต์แวร์ JavaScript แบบโอเพนซอร์สที่ใช้สำหรับการสร้างเว็บไซต์แบบไดนามิกและเว็บแอปพลิเคชัน ที่นี่ หมายถึง หมายถึง ongoDB, คือ xpress.js, ถึง ngularJS และ ode.js.

มาดูตัวอย่างง่ายๆเพื่อทำความเข้าใจวิธีที่ Express.js ทำงานกับ Node.js เพื่อให้งานของเราง่ายขึ้น แต่ก่อนที่คุณจะเริ่มทำงานกับ Express.js คุณต้องติดตั้งลงในระบบของคุณ

ในการติดตั้ง Express.js ทั่วโลกคุณสามารถใช้คำสั่งด้านล่าง:

npm ติดตั้ง -g express

หรือหากคุณต้องการติดตั้งในโฟลเดอร์โปรเจ็กต์ของคุณคุณต้องดำเนินการคำสั่งด้านล่าง:

npm ติดตั้งด่วน - บันทึก

เนื่องจากเราได้เตรียมการทั้งหมดเรียบร้อยแล้วตอนนี้เรามาเข้าสู่การนำไปใช้งานจริงโดยตรง ที่นี่ฉันจะแสดงแอปพลิเคชันการตรวจสอบผู้ใช้แบบง่ายโดยใช้ Node.js และ Express.js

การสอน Node.js ทีละขั้นตอนการพัฒนาแอปพลิเคชันด้วย Express.js

สำหรับสิ่งนี้เราจะต้องใช้ไฟล์ด้านล่าง:

  • package.json
  • script.js
  • มุมมอง
    • index.jade
    • login.jade
    • secure.jade
    • ไม่ได้รับอนุญาต jade
    • welcome.jade
  • lib
    • เส้นทาง js

เริ่มต้นด้วย package.json .

{'author': 'Edureka', 'name': 'Express_Demo', 'description': 'Express with Node.js', 'version': '0.0.0', 'scripts': {'start': 'node script.js '},' engine ': {' node ':' ~ 0.4.12 '},' dependencies ': {' connect-flash ':' ^ 0.1.1 ',' cookie-parser ':' ^ 1.4 .3 ',' express ':' ^ 3.21.2 ',' jade ':' ^ 0.20.3 ',' req-flash ':' 0.0.3 '},' devDependencies ': {}}

ถัดไปคุณต้องสร้างไฟล์ script.js .

var express = ต้องใช้ ('express') var http = ต้องใช้ ('http') var port = 8999 var app = express () const flash = ต้องใช้ ('connect-flash') var cookieParser = ต้องใช้ ('cookie-parser') var server = http.createServer (app) function checkAuth (req, res, next) {console.log ('checkAuth' + req.url) // ไม่ให้บริการ / รักษาความปลอดภัยให้กับผู้ที่ไม่ได้เข้าสู่ระบบถ้า (req.url = == '/ secure' && (! req.session ||! req.session.authenticated)) {res.render ('unauthorized', {status: 403}) return} next ()} app.use (flash () ) app.use (cookieParser ()) app.use (express.session ({secret: 'example'})) app.use (express.bodyParser ()) app.use (checkAuth) app.use (app.router) app.set ('view engine', 'jade') app.set ('view options', {layout: false}) ต้องใช้ ('./ lib / route.js') (app) คอนโซล app.listen (พอร์ต) .log ('โหนดกำลังฟังบนพอร์ต% s', พอร์ต)

ตอนนี้สร้างโฟลเดอร์ชื่อมุมมองซึ่งคุณจะเพิ่มไฟล์ Jade ที่จะรับผิดชอบการดูหน้าต่างๆ ไฟล์มุมมองแรกที่คุณต้องสร้างคือ index.jade .

กรอบประเภทต่างๆในซีลีเนียม
!!! 5 html (lang = 'en') หัวเรื่องการพิสูจน์ตัวตนผู้ใช้ตัวอย่างเนื้อหา h1 center การสาธิตการพิสูจน์ตัวตนโดยใช้ Express h3 ไปที่ h4 ul li: a (href = '/ secure') เนื้อหาที่ปลอดภัย li: a (href = '/ welcome') หน้ายินดีต้อนรับ li: a (href = '/ logout') ออกจากระบบ

ตอนนี้สร้างไฟล์ login.jade ไฟล์.

!!! 5 html (lang = 'en') head title Express การพิสูจน์ตัวตนตัวอย่าง body h1 center ลงชื่อเข้าใช้ศูนย์ตัวอย่างการพิสูจน์ตัวตน Express p ใช้ ผู้ใช้ สำหรับชื่อผู้ใช้และ ผ่าน สำหรับรหัสผ่าน form (method = 'post') p label (for = 'username') การป้อนที่อยู่อีเมล (type = 'text', name = 'username', class = 'form-control', id = 'exampleInputPassword1', placeholder = ' อีเมล ', style =' width: 400px ') p ป้ายกำกับกลาง (สำหรับ =' รหัสผ่าน ') ใส่รหัสผ่าน (type =' password ', name =' password ', class =' ​​form-control ', id =' exampleInputPassword1 ', placeholder = 'Password', style = 'width: 400px') p center ส่ง - แต่ละข้อความใน flash h4 (style = 'color: red') # {message}

ขั้นตอนต่อไปคือการสร้างไฟล์ welcome.jade .

!!! 5 html (lang = 'en') head title User Authentication Example body h1 center ยินดีต้อนรับสู่บทช่วยสอน Edureka!

จากนั้นสร้างไฟล์ secure.jade ไฟล์.

!!! 5 html (lang = 'en') head title Express Authentication ตัวอย่างเนื้อหา h1 center สวัสดีผู้ใช้ที่ปลอดภัย p ไปที่ ul li: a (href = '/ secure') Secure content li: a (href = '/ welcome') หน้ายินดีต้อนรับ li: a (href = '/ logout') ออกจากระบบ

ตอนนี้สร้างไฟล์ ไม่ได้รับอนุญาต jade ไฟล์.

!!! 5 html (lang = 'en') head title User Authentication ตัวอย่างเนื้อหา h1 center ไม่ได้รับอนุญาต p คุณไม่ได้รับอนุญาตให้ดูหน้านี้ กรุณา ' เพื่อจะดำเนินการต่อ

ตอนนี้คุณต้องสร้างโฟลเดอร์และตั้งชื่อ lib . ตอนนี้สร้างไฟล์ route.js ไฟล์ซึ่งจะแมปหน้าทั้งหมด

var util = ต้องใช้ ('util') module.exports = function (app) {app.get ('/', function (req, res, next) {res.render ('index')}) app.get (' / welcome ', function (req, res, next) {res.render (' welcome ')}) app.get (' / secure ', function (req, res, next) {res.render (' secure ')} ) app.get ('/ login', function (req, res, next) {res.render ('login', {flash: req.flash ()})}) app.post ('/ login', function ( req, res, next) {// คุณอาจต้องการทำการค้นหาฐานข้อมูลหรือสิ่งที่ปรับขนาดได้มากขึ้นที่นี่ถ้า (req.body.username && req.body.username === 'user' && req.body.password && req.body.password === 'pass') {req.session.authenticated = true res.redirect ('/ secure')} else {req.flash ('error', 'Username and password are wrong') res. redirect ('/ login')}}) app.get ('/ logout', function (req, res, next) {delete req.session.authenticated res.redirect ('/')})}

ตอนนี้หากคุณต้องการรันโค้ดนี้ด้วยตัวคุณเองคุณสามารถดาวน์โหลดได้จากที่นี่: Node.js บทช่วยสอน PDF .

ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของบทช่วยสอน Node.js นี้ ฉันหวังว่าฉันจะสามารถอธิบายแนวคิดของ Node.js ได้ตั้งแต่ต้น

หากคุณพบ“ บทช่วยสอน Node.js นี้ ” เกี่ยวข้อง ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทช่วยสอน Node.js นี้แล้วเราจะติดต่อกลับไป