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

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

14
วิธีการเรียกใช้ Node.js เป็นกระบวนการพื้นหลังและไม่ตาย?
ฉันเชื่อมต่อกับเซิร์ฟเวอร์ linux ผ่าน SSH ของ putty ฉันพยายามเรียกใช้เป็นกระบวนการพื้นหลังดังนี้: $ node server.js & อย่างไรก็ตามหลังจาก 2.5 ชั่วโมงเทอร์มินัลจะไม่ทำงานและกระบวนการจะหยุดทำงาน มีอยู่แล้วฉันสามารถทำให้กระบวนการยังมีชีวิตอยู่แม้จะมีการยกเลิกการเชื่อมต่อขั้ว? แก้ไข 1 ที่จริงแล้วฉันพยายามnohupแต่ทันทีที่ฉันปิด Terminal Putty SSH หรือถอดปลั๊กอินเทอร์เน็ตกระบวนการเซิร์ฟเวอร์จะหยุดทันที มีอะไรที่ฉันต้องทำใน Putty หรือไม่? แก้ไข 2 (เมื่อ ก.พ. , 2012) มีความเป็นnode.jsโมดูลตลอดไป มันจะรันเซิร์ฟเวอร์ node.js เป็นบริการ daemon

6
จะเปลี่ยนโฟลเดอร์คอมโพเนนต์เริ่มต้นของ bower ได้อย่างไร
ฉันกำลังสร้างโปรเจ็กต์ใหม่ที่ใช้ bower จาก twitter ฉันสร้างcomponent.jsonเพื่อรักษาการพึ่งพาของฉันทั้งหมดเช่น jQuery แล้วฉันจะเรียกว่าทุกอย่างที่ติดตั้งในโฟลเดอร์ชื่อbower install แต่ผมจำเป็นต้องติดตั้งส่วนประกอบในโฟลเดอร์ที่แตกต่างกันเช่นcomponentspublic/components ฉันได้ลองแก้ไข components.json ของฉันเป็น: { "name": "test", "version": "1.0.0", "directory": "public/", "dependencies": { "jquery": "*" } } หรือ: { "name": "test", "version": "1.0.0", "componentsDirectory": "public/", "dependencies": { "jquery": "*" } } ดังที่แสดงไว้ในhttps://github.com/twitter/bower/pull/94แต่มันไม่ทำงาน
475 node.js  bower 

11
ตรวจสอบและปรับปรุงแพ็คเกจหากจำเป็น
เราจำเป็นต้องรวมนักวิ่งทดสอบ Karma เข้ากับ TeamCity และเพื่อที่ฉันจะให้สคริปต์ขนาดเล็ก (PowerShell หรืออะไรก็ตาม) ที่จะ: รับหมายเลขรุ่นที่ต้องการจากไฟล์กำหนดค่าบางอย่าง (ฉันเดาว่าฉันสามารถใส่เป็นความคิดเห็นได้ในkarma.conf.js) ตรวจสอบว่ารุ่นนักวิ่งกรรมที่กำหนดไว้ติดตั้งใน repo ทั่วโลกของ NPM หรือไม่ ถ้าไม่ใช่หรือเวอร์ชั่นที่ติดตั้งเก่ากว่าที่ต้องการ: เลือกและติดตั้งเวอร์ชั่นที่ถูกต้อง เรียกใช้มัน: karma start .\Scripts-Tests\karma.conf.js --reporters teamcity --single-run ดังนั้นคำถามที่แท้จริงของฉันคือ: "จะตรวจสอบสคริปต์ได้อย่างไรหากติดตั้งแพ็คเกจรุ่นที่ต้องการ" คุณควรทำเช็คหรือว่าปลอดภัยที่จะโทรnpm -g installทุกครั้ง? ฉันไม่ต้องการตรวจสอบและติดตั้งเวอร์ชันล่าสุดที่มีอยู่เสมอเพราะค่ากำหนดอื่น ๆ อาจเข้ากันไม่ได้

19
ข้อผิดพลาด: คำขอเอนทิตีมีขนาดใหญ่เกินไป
ฉันได้รับข้อผิดพลาดต่อไปนี้กับ express: Error: request entity too large at module.exports (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/node_modules/raw-body/index.js:16:15) at json (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/middleware/json.js:60:5) at Object.bodyParser [as handle] (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:53:5) at next (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/proto.js:193:15) at Object.cookieParser [as handle] (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/middleware/cookieParser.js:60:5) at next (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/proto.js:193:15) at Object.logger (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/middleware/logger.js:158:5) at next (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/proto.js:193:15) at Object.staticMiddleware [as handle] (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/middleware/static.js:55:61) at next (/Users/michaeljames/Documents/Projects/Proj/mean/node_modules/express/node_modules/connect/lib/proto.js:193:15) TypeError: /Users/michaeljames/Documents/Projects/Proj/mean/app/views/includes/foot.jade:31 29| script(type="text/javascript", src="/js/socketio/connect.js") 30| > …

30
วิธีแก้ไขข้อผิดพลาด: ฟัง EADDRINUSE ขณะใช้งาน nodejs?
หากฉันใช้เซิร์ฟเวอร์ที่มีพอร์ต 80 และฉันพยายามใช้xmlHTTP คำถามฉันได้รับข้อผิดพลาดนี้:Error: listen EADDRINUSE ทำไมมันเป็นปัญหาสำหรับ nodejs ถ้าฉันต้องการที่จะทำคำขอในขณะที่ฉันเรียกใช้เซิร์ฟเวอร์บนพอร์ต 80? สำหรับเว็บเบราว์เซอร์นั้นไม่ใช่ปัญหา: ฉันสามารถท่องอินเทอร์เน็ตได้ในขณะที่เซิร์ฟเวอร์กำลังทำงาน เซิร์ฟเวอร์คือ: net.createServer(function (socket) { socket.name = socket.remoteAddress + ":" + socket.remotePort; console.log('connection request from: ' + socket.remoteAddress); socket.destroy(); }).listen(options.port); และคำขอ: var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { sys.puts("State: " + this.readyState); if (this.readyState == 4) { …

22
TypeScript ได้รับข้อผิดพลาด TS2304: ไม่สามารถหาชื่อ 'ต้องการ'
ฉันกำลังพยายามรับแอปพลิเคชั่น TypeScript และ DefinitelyTyped Node.js ครั้งแรกของฉันและทำงานและพบข้อผิดพลาดบางอย่าง ฉันได้รับข้อผิดพลาด "TS2304: ไม่สามารถหาชื่อ 'ต้อง'" เมื่อฉันพยายามที่จะ transpile หน้า TypeScript Node.js ง่าย ๆ ฉันได้อ่านข้อผิดพลาดนี้หลายครั้งใน Stack Overflow และฉันไม่คิดว่าฉันมีปัญหาที่คล้ายกัน ฉันกำลังรันที่ shell prompt พร้อมรับคำสั่ง: tsc movie.server.model.ts. เนื้อหาของไฟล์นี้คือ: 'use strict'; /// <reference path="typings/tsd.d.ts" /> /* movie.server.model.ts - definition of movie schema */ var mongoose = require('mongoose'), Schema = mongoose.Schema; var …

7
ความแตกต่างระหว่าง socket.io และ websockets
ความแตกต่างระหว่าง socket.io และ websockets ใน node.js คืออะไร? พวกเขาทั้งสองเทคโนโลยีผลักเซิร์ฟเวอร์? ความแตกต่างเพียงอย่างเดียวที่ฉันรู้สึกคือ socket.io อนุญาตให้ฉันส่ง / ส่งข้อความโดยระบุชื่อเหตุการณ์ ในกรณีของ socket.io ข้อความจากเซิร์ฟเวอร์จะเข้าถึงลูกค้าทั้งหมด แต่สำหรับ websockets เดียวกันฉันถูกบังคับให้เก็บอาร์เรย์ของการเชื่อมต่อทั้งหมดและวนผ่านมันเพื่อส่งข้อความไปยังลูกค้าทั้งหมด นอกจากนี้ฉันสงสัยว่าทำไมผู้ตรวจสอบเว็บไซต์ (เช่น Chrome / firebug / fiddler) ไม่สามารถจับข้อความเหล่านี้ (จาก socket.io/websocket) จากเซิร์ฟเวอร์ได้หรือไม่ โปรดอธิบายสิ่งนี้


21
ข้อผิดพลาด Heroku + node.js (กระบวนการทางเว็บไม่สามารถผูกติดกับ $ PORT ได้ภายใน 60 วินาทีหลังจากเปิดตัว)
ฉันมีแอป node.js แรกของฉัน (ทำงานได้ในท้องถิ่น) - แต่ฉันไม่สามารถปรับใช้ผ่าน heroku (ครั้งแรกที่มี w / heroku เช่นกัน) รหัสด้านล่าง ดังนั้นอย่าให้ฉันเขียนโค้ดมากนักดังนั้นฉันจะบอกว่าการรันโค้ดในเครื่องและในเครือข่ายของฉันก็ไม่มีปัญหา var http = require('http'); var fs = require('fs'); var path = require('path'); http.createServer(function (request, response) { console.log('request starting for '); console.log(request); var filePath = '.' + request.url; if (filePath == './') filePath = './index.html'; console.log(filePath); var …
447 node.js  heroku 

28
จะโหลดไฟล์อัตโนมัติใน Node.js ได้อย่างไร?
แนวคิดใดบ้างที่ฉันสามารถใช้การโหลดไฟล์อัตโนมัติใน Node.js ฉันเบื่อที่จะรีสตาร์ทเซิร์ฟเวอร์ทุกครั้งที่ฉันเปลี่ยนไฟล์ เห็นได้ชัดว่า Node.js 'require()ฟังก์ชั่นว่าไม่ได้โหลดไฟล์ใหม่หากจำเป็นต้องใช้แล้วดังนั้นฉันต้องทำสิ่งนี้: var sys = require('sys'), http = require('http'), posix = require('posix'), json = require('./json'); var script_name = '/some/path/to/app.js'; this.app = require('./app').app; process.watchFile(script_name, function(curr, prev){ posix.cat(script_name).addCallback(function(content){ process.compile( content, script_name ); }); }); http.createServer(this.app).listen( 8080 ); และในไฟล์app.jsฉันมี: var file = require('./file'); this.app = function(req, res) { file.serveFile( …

25
วิธีดาวน์โหลดไฟล์ด้วย Node.js (โดยไม่ต้องใช้ห้องสมุดบุคคลที่สาม)
ฉันจะดาวน์โหลดไฟล์ด้วย Node.js โดยไม่ต้องใช้ห้องสมุดบุคคลที่สามได้อย่างไร ฉันไม่ต้องการอะไรเป็นพิเศษ ฉันต้องการดาวน์โหลดไฟล์จาก URL ที่กำหนดและบันทึกลงในไดเรกทอรีที่กำหนด

11
Node.js - SyntaxError: การนำเข้าโทเค็นที่ไม่คาดคิด
ฉันไม่เข้าใจสิ่งที่ผิด โหนด v5.6.0 NPM v3.10.6 รหัส: function (exports, require, module, __filename, __dirname) { import express from 'express' }; ข้อผิดพลาด: SyntaxError: Unexpected token import at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:387:25) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Function.Module.runMain (module.js:447:10) at startup (node.js:140:18) at node.js:1001:3

30
โหนด / Express: EADDRINUSE, Address ที่ใช้งานอยู่ - Kill server
ฉันมีเซิร์ฟเวอร์ง่าย ๆ ทำงานใน node.js โดยใช้การเชื่อมต่อ: var server = require('connect').createServer(); //actions... server.listen(3000); ในรหัสของฉันฉันมีตัวจัดการจริง แต่นั่นเป็นแนวคิดพื้นฐาน ปัญหาที่ฉันได้รับคือ EADDRINUSE, Address already in use ฉันได้รับข้อผิดพลาดนี้เมื่อเรียกใช้แอปพลิเคชันของฉันอีกครั้งหลังจากที่เกิดข้อผิดพลาดหรือข้อผิดพลาด ctr + zเนื่องจากผมไม่ได้เปิดตัวอย่างใหม่ของฉันใกล้ขั้วจากกระบวนการที่มี ฉันค่อนข้างแน่ใจทั้งหมดที่ฉันต้องทำคือปิดเซิร์ฟเวอร์หรือการเชื่อมต่อ ฉันพยายามโทรserver.close()เข้าprocess.on('exit', ...);โดยไม่มีโชค
442 node.js 

10
วิธีที่เหมาะสมในการส่งคืน JSON โดยใช้โหนดหรือ Express
ดังนั้นหนึ่งสามารถพยายามดึงวัตถุ JSON ต่อไปนี้: $ curl -i -X GET http://echo.jsontest.com/key/value/anotherKey/anotherValue HTTP/1.1 200 OK Access-Control-Allow-Origin: * Content-Type: application/json; charset=ISO-8859-1 Date: Wed, 30 Oct 2013 22:19:10 GMT Server: Google Frontend Cache-Control: private Alternate-Protocol: 80:quic,80:quic Transfer-Encoding: chunked { "anotherKey": "anotherValue", "key": "value" } $ มีวิธีการสร้างเนื้อเดียวกันในการตอบสนองจากเซิร์ฟเวอร์โดยใช้โหนดหรือด่วน? เห็นได้ชัดว่าใครสามารถตั้งค่าส่วนหัวและระบุว่าเนื้อหาประเภทของการตอบสนองจะเป็น "application / json" แต่แล้วมีวิธีที่แตกต่างกันในการเขียน / ส่งวัตถุ สิ่งที่ฉันได้เห็นการใช้งานทั่วไปคือการใช้คำสั่งของแบบฟอร์ม: response.write(JSON.stringify(anObject)); …

8
Express.js คืออะไร
ฉันเป็นผู้เรียนในNode.js Express.jsคืออะไรอะไร จุดประสงค์ของการใช้ Node.js คืออะไร? ทำไมเราต้องใช้ Express.js มันมีประโยชน์อย่างไรที่เราจะใช้กับ Node.js Redisคืออะไร มาพร้อมกับ Express.js หรือไม่
439 node.js  express  redis 

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