NTVS未在我指定的端口上运行节点服务

端口8010在app.json中指定,运行node index.js在端口8010上启动服务。每次启动服务时,NTVS都会在随机分配的端口上启动它。 我没有什么经验,但最近已经给了一个大型的Nodejs / Express / Kraken / Angular代码库。 我做的第一件事是安装NTVS(Visual Studio的节点工具) 为什么? 因为Visual Studio是我熟悉的 我从现有的源创build了一个新的项目,启动代码,它运行并工作, 但是每次都从一个不同的随机分配的端口号开始。 然后我在Projectsconfiguration中添加了节点和debugging端口的值 这将启动侦听该端口的debugging器 但应用程序将开始在不同的端口 如果我以释放模式运行,debugging器仍然在8001上启动,服务开始监听一些不是8000或8010的随机端口。 所以,我试着运行没有在项目设置中指定的端口 ,并在项目设置中的端口 。 任何人有任何想法,我需要做的,以app.json指定的端口上启动应用程序开始? 谢谢 更新 该应用程序正在使用Kraken。 Kraken似乎从app.json和app-development.json文件中取得了端口configuration。 这一切都运行正常,当节点运行,甚至通过WebStorm(我有一个评估版) index.js中用于启动应用程序的代码不会直接将端口传递给kraken kraken.create(app).listen(function (err) { if (err) { var log = require('log4js').getLogger(loggerName); log.error(err.stack); } 应用程序对象有一个configuration方法,但这似乎没有做任何事情与端口。

创build一个自己的对象来使事件在代码完成中有什么优点/缺点?

在nodejs应用程序中,我们有许多事件将被发射和捕获。 事件通常被定义为简单的string,比如“open”。 我的想法是为我的事件创build一个自己的对象。 var event = { open: 'my-open', close: 'my-close' }; module.exports = event; 想要的好处是: 定义所有事件被定义的位置 IDE内的代码完成(例如IntelliJ) 我的问题是,如果这是一个好主意,或者如果有严重的理由不这样做? 更新 我们决定只在一个模块中使用这样的事件对象。 好处是: 定义事件的地点 组织事件的可能性 将这些事件重命名为一个地方 IDE支持(代码完成,查找参考)

如何模仿一个irc服务器断开连接来testing我的nodejs irc bot?

我正在使用net.Socket模块连接到EFNET并testing我的代码,以便将重新连接事件添加到我的机器人。 有什么方法可以模拟机器人断开连接? 这个问题是非常2-3个星期的问题 – 我已经添加了事件处理程序,以便了解从IRC断开时会发生什么: irc = { info:{} , listeners : [] , socket : new net.Socket() } irc.socket.on('timeout', function() { console.log('timeout'); }); irc.socket.on('error', function() { console.log('error'); }); irc.socket.on('end', function() { console.log('end??') setTimeout(function() { //irc.socket.connect(config.server.port, config.server.addr); }, 1000 ); }); 或者,如果有人知道哪些实际事件通常与irc机器人有关,我会感激。 编辑#1:也许我可以做一些iptables和过滤端口,而它正在运行或沿着这些线?

无法使用mongoose连接到mongoDB

我正在关注这本书addyosmani – backbone-fundamentals创build一个简单的backbone.js应用程序与节点服务器和mongodb作为后端。 按照指示,我已经安装了nodejs.org的最新版本的Node.js和www.mongodb.org的 mongodb,并按照说明运行了mongodb。 package.json如下所示: { "name": "backbone-library", "version": "0.0.1", "description": "A simple library application using Backbone", "dependencies": { "express": "~3.1.0", "path": "~0.4.9", "mongoose": "~3.5.5", "body-parser": "~1.9.1" } } 然后, 教程build议将以下内容添加到server.js文件以连接到mongoDB: //Connect to database mongoose.connect( 'mongodb://localhost/library_database' ); //Schemas var Book = new mongoose.Schema({ title: String, author: String, releaseDate: Date }); //Models var BookModel = […]

node.js节点命令为什么不工作?

我刚刚安装了node.js,并且还在环境variables中设置了PATH。 PATH值是 C:\Program Files\Java\jdk1.8.0_25\bin;C:\android\adt\sdk\platform-tools;C:\android\adt\sdk\tools;C:\wamp\www\ant\bin;C:\Program Files\nodejs; 在短期内 <jdk bin dir path>;<android platform-tools dir path>;<android tools dir path>;<apache ant bin dir path>;<nodejs path> android命令正常工作。 但是当我执行节点命令,它没有响应。 我等待大约30个薄荷糖的反应,但没有发生任何事情。 现在如果我按下inputcmd看起来像波纹pipe图像 我是新的与node.js,请帮助我是什么问题。 先谢谢你。

Node.js,express,html表单req.body是未定义的

我不明白为什么req.body是未定义的。 它总是访问node.js server'/ formstuff'中的函数,但是req.body是未定义的。 当我看看它发布到cmd的结果,我没有看到我的查询任何地方。 其实res.query和res.params是空的。 任何帮助将不胜感激,谢谢。 performance: var express = require('express'), app = express(); var fs = require('fs'); var Promise = require('promise'); // Handle Get Request app.get('/', function(req, res){ // get stuff from request var index; fs.readFile('./form.html', function (err, data) { if (err) { throw err; } index = data; res.setHeader("Content-Type", "text/html"); res.send(index); }); […]

不能在NodeJS MySQL中使用全局variables

我无法访问MySQL查询callback里面的discovered_matches数组,怎么回事? 我遇到了一个'TypeError:无法读取属性'null'错误消息在console.log(coming_matches [1]); 线,这表明该variables正在重置出于某种原因(猜测,我不是很有经验的Javascript)? var regex = regex code.. while ((upcoming_matches = regex.exec(body)) != null) { HLTVID = upcoming_matches[1].split("-"); connection.query('SELECT * FROM `csgo_matches` WHERE HLTVID=' + HLTVID[0], function(err, rows, fields) { if (err) throw err; console.log(upcoming_matches[1]); }); }

创build一个更简单的嵌套函数的方法

我正在寻找降低像这样的代码的开销 foo(bar(baz("hello"))) // function hell 理想情况是这样的 var fbb = bind(foo, bar, baz) foo("hello") 这是否存在? 本机还是图书馆? 我通过下划线和绑定 。

节点api不返回数据给客户端ajax请求

我在Node.js中有一个非常基本的http服务器。 现在我只想返回一些JSON到一个浏览器做/ GET请求到一个特定的URL。 当我直接在浏览器(chrome)中直接访问本地主机地址时,我在“写入”方法中得到响应。 但是,我的骨干客户端中的ajax请求只是获取了200 OK头,但是当我打开开发工具时没有响应数据。 相当新的节点。 谁可以帮我这个事? 这是我的代码。 只是要分解它,我已经从JSON更改为文本/纯文本,并返回string“你好”。 res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('hello'); res.end();

节点 – 用于发送电子邮件,sendgrid和nodemailer其中之一或组合的选项

在节点中发送电子邮件并不那么经验丰富,我可以看到有不同的选项可供select。 在以下情况下使用哪个选项? 与sengrid一起使用节点邮件程序: 正如我所看到的,我必须添加额外的包"nodemailer-sendgrid-transport"来强制他们一起工作。 因为var transporter = nodemailer.createTransport({ service: 'SendGrid', auth: {…}); 将无法工作。 (总是返回错误的用户名/密码) var nodemailer = require('nodemailer'), sendGridTransport = require('nodemailer-sendgrid-transport'); var options = { auth: { api_user: 'blabla', api_key: 'blabla' } }; var client = nodemailer.createTransport(sendGridTransport(options)); var email = { to: ['joe@foo.com', 'mike@bar.com'], from: 'roger@tacos.com', subject: 'Hi there', text: 'Awesome sauce', html: '<b>Awesome sauce</b>' […]