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

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

11
ทำไม“ npm install” เขียน package-lock.json ใหม่
ฉันเพิ่งจะอัพเกรดNPM @ 5 ตอนนี้ผมมีแพคเกจ lock.jsonไฟล์ที่มีทุกอย่างจากpackage.json ฉันคาดหวังว่าเมื่อฉันรันnpm installเวอร์ชันที่ขึ้นต่อกันจะถูกดึงจากไฟล์ล็อคเพื่อพิจารณาว่าควรติดตั้งอะไรในไดเร็กทอรีnode_modulesของฉัน มีอะไรแปลก ๆ ที่จริง ๆ แล้วมันก็ปรับเปลี่ยนและเขียนไฟล์package-lock.jsonของฉันใหม่ ยกตัวอย่างเช่นแฟ้มล็อคมี typescript ระบุให้อยู่ในเวอร์ชัน2.1.6 จากนั้นหลังจากที่npm installคำสั่งรุ่นได้เปลี่ยนไปเป็น2.4.1 ที่ดูเหมือนจะเอาชนะวัตถุประสงค์ทั้งหมดของไฟล์ล็อค ฉันพลาดอะไรไป ฉันจะได้รับ npm เพื่อเคารพไฟล์ล็อคของฉันได้อย่างไร?

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

15
คุณจะป้องกันการติดตั้งโมดูล "devDependencies" NPM สำหรับ Node.js (package.json) ได้อย่างไร
ฉันมีสิ่งนี้ในไฟล์ package.json ของฉัน (เวอร์ชั่นย่อ): { "name": "a-module", "version": "0.0.1", "dependencies": { "coffee-script": ">= 1.1.3" }, "devDependencies": { "stylus": ">= 0.17.0" } } ฉันใช้ NPM เวอร์ชั่น 1.1.1 บน Mac 10.6.8 เมื่อฉันรันคำสั่งต่อไปนี้จากรูทโปรเจ็กต์มันจะติดตั้งทั้งสองdependencies และ devDependencies : npm install ฉันรู้สึกว่าคำสั่งนี้ติดตั้งdevDependencies: npm install --dev ฉันจะทำให้มันดังนั้นnpm installเฉพาะการติดตั้งdependencies(เพื่อให้สภาพแวดล้อมการผลิตเพียงได้รับโมดูลเหล่านั้น) ในขณะที่บางอย่างเช่นnpm install --devการติดตั้งทั้งในdependenciesและdevDependencies?
587 node.js  npm 

19
มีวิธีรับเวอร์ชันจาก package.json ในรหัส nodejs หรือไม่
มีวิธีรับเวอร์ชันที่ติดตั้งในpackage.jsonแอพ nodejs หรือไม่? ฉันต้องการสิ่งนี้ var port = process.env.PORT || 3000 app.listen port console.log "Express server listening on port %d in %s mode %s", app.address().port, app.settings.env, app.VERSION


8
"ค่าเริ่มต้นการส่งออก" ใน javascript คืออะไร
ไฟล์: SafeString.js // Build out our basic SafeString type function SafeString(string) { this.string = string; } SafeString.prototype.toString = function() { return "" + this.string; }; export default SafeString; ฉันไม่เคยเห็นexport defaultมาก่อน มีสิ่งใดที่เทียบเท่าexport defaultที่เข้าใจได้ง่ายขึ้นหรือไม่

30
วิธีการเปลี่ยนสีฟอนต์คอนโซลของ node.js?
ฉันต้องเปลี่ยนสีพื้นหลังคอนโซลเป็นสีขาวเนื่องจากปัญหาสายตา แต่ตัวอักษรเป็นสีเทาและทำให้ข้อความอ่านไม่ได้ ฉันจะเปลี่ยนได้อย่างไร
570 node.js  colors  console 

15
node.js ลบไฟล์
ฉันจะลบไฟล์ที่มี node.js ได้อย่างไร http://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback ฉันไม่เห็นคำสั่งลบหรือไม่
565 node.js 

14
รุ่น Node.js บนบรรทัดคำสั่ง? (ไม่ใช่ REPL)
ฉันต้องการรับ Node.js ในบรรทัดคำสั่ง ฉันคาดว่าจะใช้คำสั่งเช่น: node -version แต่นั่นไม่ได้ผล ไม่มีใครรู้ว่าบรรทัดคำสั่งจะเป็นอย่างไร (เช่นไม่ใช่ REPL)

28
อ่านไฟล์ทีละหนึ่งไฟล์ใน node.js?
ฉันพยายามอ่านไฟล์ขนาดใหญ่ทีละบรรทัด ฉันพบคำถามเกี่ยวกับ Quoraที่เกี่ยวข้องกับเรื่องนี้ แต่ฉันขาดการเชื่อมต่อบางอย่างเพื่อทำให้สิ่งทั้งหมดเข้าด้วยกัน var Lazy=require("lazy"); new Lazy(process.stdin) .lines .forEach( function(line) { console.log(line.toString()); } ); process.stdin.resume(); บิตที่ฉันอยากรู้คือฉันจะอ่านทีละบรรทัดจากไฟล์แทน STDIN ได้อย่างไรในตัวอย่างนี้ ฉันเหนื่อย: fs.open('./VeryBigFile.csv', 'r', '0666', Process); function Process(err, fd) { if (err) throw err; // DO lazy read } แต่มันไม่ทำงาน ฉันรู้ว่าในเวลาไม่นานฉันสามารถถอยกลับไปใช้บางอย่างเช่น PHP แต่ฉันอยากจะเข้าใจสิ่งนี้ ฉันไม่คิดว่าคำตอบอื่น ๆ จะทำงานได้เนื่องจากไฟล์มีขนาดใหญ่กว่าเซิร์ฟเวอร์ที่ฉันใช้งานอยู่มีหน่วยความจำสำหรับ

18
nvm เก็บโหนด“ ลืม” ไว้ในเทอร์มินัลเซสชันใหม่
เมื่อใช้เทอร์มินัลเซสชันใหม่ใน OS X ให้nvmลืมรุ่นโหนดและค่าเริ่มต้นเป็นไม่มีอะไร: $ nvm ls: .nvm v0.11.12 v0.11.13 ฉันต้องกดปุ่มnvm use v.0.11.13ทุกครั้ง: .nvm v0.11.12 -> v0.11.13 ฉันลองทั้งการbrewติดตั้งรวมถึงสคริปต์การติดตั้งอย่างเป็นทางการ .profileสำหรับรุ่นชงของฉัน: #nvm export NVM_DIR=~/.nvm source $(brew --prefix nvm)/nvm.sh และสำหรับสคริปต์ install.sh: $ curl https://raw.githubusercontent.com/creationix/nvm/v0.10.0/install.sh | bash #nvm export NVM_DIR="/Users/farhad/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm เบาะแสอะไรกับสิ่งที่ฉันทำผิด?
546 node.js  macos  npm  homebrew  nvm 

19
ฉันจะรันสคริปต์ npm หลายตัวพร้อมกันได้อย่างไร
ในฉันpackage.jsonฉันมีสองสคริปต์เหล่านี้: "scripts": { "start-watch": "nodemon run-babel index.js", "wp-server": "webpack-dev-server", } ฉันต้องเรียกใช้ 2 สคริปต์เหล่านี้ในแบบคู่ขนานทุกครั้งที่ฉันเริ่มพัฒนาใน Node.js สิ่งแรกที่ฉันคิดคือการเพิ่มสคริปต์ที่สามเช่นนี้: "dev": "npm run start-watch && npm run wp-server" ... แต่ที่จะรอให้เสร็จสิ้นก่อนที่จะใช้start-watchwp-server ฉันจะรันสิ่งเหล่านี้แบบขนานได้อย่างไร โปรดจำไว้ว่าฉันต้องดูoutputคำสั่งเหล่านี้ นอกจากนี้หากโซลูชันของคุณเกี่ยวข้องกับเครื่องมือสร้างฉันควรใช้gulpแทนgruntเพราะฉันใช้มันในโครงการอื่นแล้ว

8
วิธีเข้าถึงพารามิเตอร์ GET หลังจาก“?” ใน Express
ฉันรู้วิธีรับ params สำหรับข้อความค้นหาเช่นนี้: app.get('/sample/:id', routes.sample); ในกรณีนี้ฉันสามารถใช้req.params.idรับพารามิเตอร์ (เช่น2ใน/sample/2) อย่างไรก็ตามสำหรับ url like /sample/2?color=redฉันจะเข้าถึงตัวแปรได้colorอย่างไร ฉันพยายามreq.params.colorแต่มันใช้งานไม่ได้

20
ExpressJS จะจัดโครงสร้างแอปพลิเคชันอย่างไร
ฉันใช้กรอบงานเว็บ ExpressJS สำหรับ NodeJS คนที่ใช้ ExpressJS ใส่สภาพแวดล้อมของพวกเขา (การพัฒนา, การผลิต, การทดสอบ ... ), เส้นทาง ฯลฯ app.jsบน ฉันคิดว่ามันไม่ใช่วิธีที่สวยงามเพราะเมื่อคุณมีแอปพลิเคชันขนาดใหญ่ app.js ใหญ่เกินไป! ฉันต้องการมีโครงสร้างไดเรกทอรีนี้: | my-application | -- app.js | -- config/ | -- environment.js | -- routes.js นี่คือรหัสของฉัน: app.js var express = require('express'); var app = module.exports = express.createServer(); require('./config/environment.js')(app, express); require('./config/routes.js')(app); app.listen(3000); config …
527 node.js  express 


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