คำถามติดแท็ก node.js

Node.js เป็นรันไทม์ I / O อะซิงโครนัส I-O แบบอิงเหตุการณ์ซึ่งไม่ใช้การบล็อกซึ่งใช้เอ็นจิ้น V8 JavaScript ของ Google และไลบรารี libuv มันใช้สำหรับการพัฒนาแอพพลิเคชั่นที่ใช้ความสามารถในการรัน JavaScript ทั้งบนไคลเอนต์และฝั่งเซิร์ฟเวอร์ดังนั้นจึงได้รับประโยชน์จากการใช้งานโค้ดได้อีกครั้งและขาดการสลับบริบท




11
JWT (JSON Web Token) การยืดเวลาหมดอายุโดยอัตโนมัติ
ฉันต้องการใช้การตรวจสอบตาม JWT กับ REST API ใหม่ของเรา แต่เนื่องจากการหมดอายุถูกกำหนดในโทเค็นจึงเป็นไปได้ที่จะยืดออกโดยอัตโนมัติหรือไม่ ฉันไม่ต้องการให้ผู้ใช้ลงชื่อเข้าใช้ทุก ๆ X นาทีหากพวกเขาใช้แอปพลิเคชันในช่วงเวลานั้นอย่างแข็งขัน นั่นจะเป็น UX ขนาดใหญ่ที่ล้มเหลว แต่การยืดเวลาการหมดอายุสร้างโทเค็นใหม่ (และโทเค็นเก่ายังคงใช้ได้จนกว่าจะหมดอายุ) และสร้างโทเค็นใหม่หลังจากคำขอแต่ละครั้งฟังดูไร้สาระสำหรับฉัน ฟังดูเหมือนปัญหาด้านความปลอดภัยเมื่อมีโทเค็นมากกว่าหนึ่งอันถูกต้องในเวลาเดียวกัน แน่นอนฉันสามารถยกเลิกใช้เก่าใช้บัญชีดำ แต่ฉันจะต้องเก็บโทเค็น และข้อดีอย่างหนึ่งของ JWT ก็คือไม่มีที่เก็บข้อมูล ฉันพบวิธีที่ Auth0 แก้ไขได้ พวกเขาใช้โทเค็น JWT ไม่เพียง แต่ยังเป็นโทเค็นรีเฟรช: https://docs.auth0.com/refresh-token แต่อีกครั้งในการดำเนินการนี้ (ไม่มี Auth0) ฉันต้องจัดเก็บโทเค็นการรีเฟรชและรักษาวันหมดอายุไว้ แล้วประโยชน์ที่แท้จริงคืออะไร? ทำไมไม่มีโทเค็นเดียวเท่านั้น (ไม่ใช่ JWT) และเก็บการหมดอายุไว้บนเซิร์ฟเวอร์ มีตัวเลือกอื่น ๆ อีกไหม? การใช้ JWT ไม่เหมาะกับสถานการณ์นี้หรือไม่?

10
Node.js คืออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันไม่ได้อย่างเต็มที่ได้รับสิ่งที่Node.jsเป็นข้อมูลเกี่ยวกับ อาจเป็นเพราะฉันเป็นนักพัฒนาแอปพลิเคชันทางธุรกิจบนเว็บเป็นหลัก มันคืออะไรและการใช้งานของมันคืออะไร? ความเข้าใจของฉันคือ: รูปแบบการเขียนโปรแกรมเป็นเหตุการณ์ที่ขับเคลื่อนด้วยโดยเฉพาะอย่างยิ่งวิธีที่จะจัดการI / O มันใช้JavaScriptและแยกวิเคราะห์เป็นV8 สามารถใช้เพื่อสร้างแอปพลิเคชันเซิร์ฟเวอร์พร้อมกันได้อย่างง่ายดาย ความเข้าใจของฉันถูกต้องหรือไม่ ถ้าเป็นเช่นนั้นสิ่งที่เป็นประโยชน์ของ I / O เหตุการณ์ที่เกิดขึ้นมันเป็นสิ่งที่มากขึ้นสำหรับสิ่งที่เกิดขึ้นพร้อมกัน? นอกจากนี้ทิศทางของ Node.js ที่จะกลายเป็นเฟรมเวิร์กเช่นโมเดลการเขียนโปรแกรม JavaScript ที่ใช้ (ตาม V8) คืออะไร?

16
จะเพิ่มไฟล์ใน Node ได้อย่างไร?
ฉันพยายามที่จะผนวกสตริงลงในไฟล์บันทึก อย่างไรก็ตาม writeFile จะลบเนื้อหาในแต่ละครั้งก่อนที่จะเขียนสตริง fs.writeFile('log.txt', 'Hello Node', function (err) { if (err) throw err; console.log('It\'s saved!'); }); // => message.txt erased, contains only 'Hello Node' มีความคิดวิธีการทำเช่นนี้วิธีที่ง่าย?
505 node.js 

6
Javascript นี้ "ต้อง" คืออะไร?
ฉันพยายามทำให้ Javascript อ่าน / เขียนไปยังฐานข้อมูล PostgreSQL ฉันพบโครงการนี้ใน GitHub ฉันสามารถรับโค้ดตัวอย่างต่อไปนี้เพื่อทำงานในโหนด var pg = require('pg'); //native libpq bindings = `var pg = require('pg').native` var conString = "tcp://postgres:1234@localhost/postgres"; var client = new pg.Client(conString); client.connect(); //queries are queued and executed one after another once the connection becomes available client.query("CREATE TEMP TABLE beatles(name varchar(10), height …

26
ฉันจะรันแอป node.js เป็นบริการพื้นหลังได้อย่างไร
เนื่องจากโพสต์นี้ได้รับความสนใจเป็นอย่างมากในช่วงหลายปีที่ผ่านมาฉันได้แสดงโซลูชันยอดนิยมสำหรับแต่ละแพลตฟอร์มที่ด้านล่างของโพสต์นี้ โพสต์ต้นฉบับ : ฉันต้องการให้เซิร์ฟเวอร์ node.js ทำงานในพื้นหลังเช่นเมื่อปิดเทอร์มินัลฉันต้องการให้เซิร์ฟเวอร์ทำงานต่อไป ฉันได้ลองทำสิ่งนี้และมาพร้อมกับบทช่วยสอนนี้แต่มันไม่ทำงานตามที่ตั้งใจ ดังนั้นแทนที่จะใช้สคริปต์ daemon นั้นฉันคิดว่าฉันเพิ่งใช้การเปลี่ยนเส้นทางเอาต์พุต ( 2>&1 >> fileส่วน) แต่สิ่งนี้ก็ไม่ได้จบ - ฉันได้รับบรรทัดว่างในเทอร์มินัลของฉันเหมือนกับว่ามันรอเอาต์พุต / ข้อผิดพลาด ฉันก็พยายามที่จะทำให้กระบวนการในพื้นหลัง แต่ทันทีที่ฉันปิด terminal ของฉันกระบวนการก็ถูกฆ่าเช่นกัน ดังนั้นฉันจะปล่อยให้มันทำงานอย่างไรเมื่อฉันปิดเครื่องคอมพิวเตอร์ของฉัน โซลูชันยอดนิยม : Systemd (Linux) Launchd (Mac) โหนดหน้าต่าง (Windows) PM2 (Node.js)

17
ไม่สามารถติดตั้งแพ็กเกจโดยใช้ node package manager ใน Ubuntu
ชื่อล่าม NodeJS ( node) บน Ubuntu ถูกเปลี่ยนชื่อเป็นnodejsเพราะชื่อขัดแย้งกับแพ็คเกจอื่น นี่คือสิ่งที่ readme Debian พูดว่า: ชื่อ upstream สำหรับคำสั่ง interpreter Node.js คือ "node" ใน Debian คำสั่ง interpreter ถูกเปลี่ยนเป็น "nodejs" สิ่งนี้ถูกทำขึ้นเพื่อป้องกันการชนกันของเนมสเปซ: คำสั่งอื่น ๆ ใช้ชื่อเดียวกันในอัพสตรีมเช่น ax25-node จากแพ็คเกจ "node" สคริปต์ที่เรียก Node.js เป็นคำสั่ง shell จะต้องเปลี่ยนเป็นใช้คำสั่ง "nodejs" แทน อย่างไรก็ตามการใช้ nodejs mucks npmขึ้นการติดตั้งแพคเกจการใช้ การติดตั้งแพคเกจล้มเหลวโดยมีข้อผิดพลาดดังต่อไปนี้: sh: 1: node: not found npm WARN …
500 node.js  ubuntu  npm 

30
โหนด Sass ไม่พบการเชื่อมโยงสำหรับสภาพแวดล้อมปัจจุบันของคุณ
ฉันมีปัญหาในการสร้างแอปเนื่องจาก node-sass ล้มเหลวพร้อมกับข้อผิดพลาด ข้อผิดพลาดในการเชื่อมโยงที่ขาดหายไป /Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node โหนด Sass ไม่พบการเชื่อมโยงสำหรับสภาพแวดล้อมปัจจุบันของคุณ: OS X 64 บิตพร้อม Node 0.10.x ฉันพยายามวิ่งแล้ว npm rebuild node-sass ซึ่งบอกว่า ไบนารีดี ออกจาก เมื่อทำงานnode -vฉันจะได้รับ v6.2.2 ซึ่งแตกต่างจากข้อผิดพลาด sass ที่ระบุว่า "Node 0.10.x" ฉันไม่สามารถหาสาเหตุที่ทำให้รุ่นผิด ฉันยังได้ลองลบโฟลเดอร์ node_modules และรันการปรับปรุง npm หรือการติดตั้ง npm ซึ่งทั้งสองอย่างไม่ได้แก้ปัญหา ความคิดใด ๆ
499 node.js  npm 

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

22
วิธีการใช้ executables จากแพ็คเกจที่ติดตั้งไว้ใน node_modules
ฉันจะใช้โมดูลในระบบnode.jsได้อย่างไร ตัวอย่างเช่นในแอพของฉันฉันติดตั้ง coffee-script: npm install coffee-script นี้จะติดตั้งไว้ในคำสั่งและกาแฟอยู่ใน./node_modules ./node_modules/.bin/coffeeมีวิธีเรียกใช้คำสั่งนี้เมื่อฉันอยู่ในโฟลเดอร์หลักของโครงการหรือไม่ ฉันเดาว่าฉันกำลังมองหาสิ่งที่คล้ายกับbundle execในชุดรวม โดยทั่วไปฉันต้องการระบุเวอร์ชันของสคริปต์กาแฟที่ทุกคนที่เกี่ยวข้องกับโครงการควรใช้ ฉันรู้ว่าฉันสามารถเพิ่มการ-gตั้งค่าสถานะเพื่อติดตั้งทั่วโลกเพื่อให้กาแฟทำงานได้ดีทุกที่ แต่ถ้าฉันต้องการมีกาแฟหลายรุ่นต่อโครงการ

8
จะเขียนแบบทดสอบที่คาดว่าจะเกิดข้อผิดพลาดในจัสมินได้อย่างไร?
ฉันพยายามเขียนการทดสอบสำหรับกรอบการทดสอบจัสมินซึ่งคาดว่าจะเกิดข้อผิดพลาด ในขณะที่ฉันใช้บูรณาจัสมิน Node.js จาก GitHub ในโมดูลโหนดของฉันฉันมีรหัสต่อไปนี้: throw new Error("Parsing is not possible"); ตอนนี้ฉันพยายามเขียนการทดสอบที่คาดว่าจะเกิดข้อผิดพลาดนี้: describe('my suite...', function() { [..] it('should not parse foo', function() { [..] expect(parser.parse(raw)).toThrow(new Error("Parsing is not possible")); }); }); ฉันพยายามError()และตัวแปรอื่น ๆ และไม่สามารถหาวิธีทำให้มันใช้งานได้

15
วิธีที่เร็วที่สุดในการคัดลอกไฟล์ใน node.js
โครงการที่ฉันกำลังทำงาน (node.js) แสดงถึงการดำเนินการจำนวนมากด้วยระบบไฟล์ (การคัดลอก / อ่าน / เขียน ฯลฯ ) ฉันต้องการทราบว่าวิธีใดเร็วที่สุดและฉันยินดีที่จะรับคำแนะนำ ขอบคุณ

15
วิธีรับ URL เต็มใน Express
สมมติว่า URL ตัวอย่างของฉันคือ http://example.com/one/two และฉันบอกว่าฉันมีเส้นทางต่อไปนี้ app.get('/one/two', function (req, res) { var url = req.url; } ค่าของจะurl/one/two ฉันจะได้URL แบบเต็มในเอ็กซ์เพรสได้อย่างไร http://example.com/one/twoยกตัวอย่างเช่นในกรณีข้างต้นผมอยากที่จะได้รับ
486 node.js  url  express 

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