การเรียนรู้ในสัปดาห์นี้ส่วนใหญ่อยู่ในการโต้ตอบฐานข้อมูลของ NodeJS และเราใช้เทมเพลต Jade เพื่อสร้างเว็บไซต์ที่ผู้ใช้เข้าด้วยกัน ส่วนใหญ่ฉันพบปัญหาหลายอย่าง
1. รุ่น MongoDB ต่ำเกินไป
npm err! ไม่เข้ากันกับระบบปฏิบัติการหรือสถาปัตยกรรมของคุณ: [email protected]
0.9.9 รองรับระบบ Linux, Darwin และ FreeBSD เท่านั้นและเวอร์ชันล่าสุดรองรับการชนะ
2. หลังจาก nodejs ดำเนินการแทรก: ผลลัพธ์ไม่สามารถอ่านได้
การคัดลอกรหัสมีดังนี้:
app.post ('/การลงทะเบียน', ฟังก์ชั่น (req, res, ถัดไป) {
// แทรกเอกสาร
app.users.insert (req.body.user, function (err, doc) {
ถ้า (err) return next (err);
res.redirect ('/login/' + doc [0] .Email);
-
-
ลักษณะที่ปรากฏคือการเปลี่ยนเส้นทางล้มเหลวและสถานการณ์ที่แท้จริงคือการแทรกของฐานข้อมูลประสบความสำเร็จ แต่เอกสารว่างเปล่าให้คุณค่าของ DOC [0] .Email เหตุผลก็คือการดำเนินการเช่นเม็ดมีดจะดำเนินการแบบอะซิงโครนัส การดำเนินการแบบอะซิงโครนัสไม่ส่งคืนผลลัพธ์โดยค่าเริ่มต้นเพื่อพิจารณาว่าพวกเขาทำงานได้สำเร็จหรือไม่ ฟังก์ชั่นนี้จะต้องนำไปใช้โดยการเพิ่มพารามิเตอร์ที่สาม {ปลอดภัย: ture}, คือ app.users.insert (req.body.user, {ปลอดภัย: ture}, ฟังก์ชั่น () {... }) ด้วยวิธีนี้ผลลัพธ์จะได้รับการอ่านสำเร็จ
3. ร้านค้าที่ไม่ได้กำหนดเชื่อมต่อเชื่อมต่อจะปรากฏขึ้น
การคัดลอกรหัสมีดังนี้:
Mongostore = ต้องการ ('Connect-Mongo')
App.use (Express.session ({
ความลับ: Settings.cookiesecret
ร้านค้า: ใหม่ Mongostore ({
db: settings.db
-
-
ซอร์สโค้ดอยู่ข้างบน เหตุผลพบว่าโมดูล Connect-Mongo นั้นแตกต่างกันไปตาม Express รุ่นต่าง ๆ นอกจากนี้ยังมีการเตือนความจำพิเศษใน readme.md
การคัดลอกรหัสมีดังนี้:
ด้วย Expression4:
var session = require ('Express-session');
var mongostore = ต้องการ ('Connect-Mongo') (เซสชัน);
app.use (เซสชัน ({
Secret: Settings.cookie_secret
ร้านค้า: ใหม่ Mongostore ({
DB: settings.db
-
-
ด้วยการแสดงออก <4:
var express = ต้องการ ('ด่วน');
var mongostore = ต้องการ ('Connect-Mongo') (ด่วน);
App.use (Express.session ({
Secret: Settings.cookie_secret
ร้านค้า: ใหม่ Mongostore ({
db: settings.db
-
-
สำหรับเวอร์ชันที่แตกต่างกันโปรดแก้ไขตามนั้น
4. สรุป
หลังจากศึกษาหนังสือเล่มนี้ฉันรู้ลักษณะบางอย่างของ nodejs และเว็บไซต์ภาษาต่างประเทศที่ใช้งานอยู่ ความถี่ของการอัปเดตของบางส่วนที่ได้รับความนิยมในโหนดก็เพิ่มความยากลำบากในการเรียนรู้ดังนั้นหนังสือเล่มนี้จึงถือได้ว่าเป็นบทนำ ต่อไปเราวางแผนที่จะเรียนรู้กรอบการทำงานของ Sails Backend ผ่านการต่อสู้เชิงปฏิบัติ ปัญหาที่พบในระหว่างการศึกษาจะถูกบันทึกไว้ในสมุดบันทึก