socket.on事件每次响应都会重复一次以上

我已经设置socket.emit事件成功cooment。 但是,当我绑定sockets.on事件发生问题。 它被解雇多次。 $(document).on('click', '#comment_button', function() { $.ajax({ // upon success success: function (response) { if (response) { socket.emit('postcomment'); socket.on('refresh', function () { console.log('refresh'); //This console.log('refresh') is coming multiple times. I mean its occurance increases with every successful ajax response. }); } }); }); 这是我的server.js socket.on('postcomment', function () { io.sockets.emit("refresh"); }); 我已经validation,在我的server.js socket.on函数只被调用一次。 我不确定在ajax中socket.on('refresh', function […]

如何摆脱玉的pipe道符号?

在玉中,pipe道符号( | )用于纯文本输出。 如果我想写在页面中呢? 我怎么能逃脱它?

nodejs等待,直到所有的MongoDB调用循环完成

我正在逐行读取一个CSV文件的数据stream,并在每一行调用一个findOne MongoDB调用,在运行下一个函数之前,我怎么才能等到每行的所有mongo调用都完成? 我见过Promises能做到吗? 但是我发现Promises非常难以理解。 而且我发现的例子都没有包括我想要的。 :/ var validProducts = []; fs.createReadStream(req.file.path) .pipe(csvStream) .on('error', function (err) { console.error(err); }) // loop through all rows .on('data', function (data) { if (data.size === 'a3') { ProductModel.findOne({ sku: data.sku }, function (err, product) { if (product !== null) { product.size = data.size; product.save(); validProducts.push(product); } }); } }); // […]

核心转储文件由“node –abort-on-uncaught-exception”定位在哪里?

我刚刚阅读Netflix的博客文章 – 优秀的阅读。 我一直在玩的工具等提到; 尤其是通过设置–abort-on-uncaught-exception标记来生成未捕获exception的核心转储。 这也是在这里描述的例子。 我认为这是迄今为止工作到一个简单的testing脚本(什么都不做,但抛出一个错误),因为我看到这个输出: Uncaught Error: foo FROM run (/tmp/test/index.js:4:9) wrapper [as _onTimeout] (timers.js:265:14) Timer.listOnTimeout (timers.js:110:15) [1] 18165 illegal hardware instruction (core dumped) node –abort-on-uncaught-exception index.js 但是,看起来我太笨了,找不到这个实验应该产生的实际核心转储文件 (?)。 我查看了/var/cores/和/opt/cores/ ,这些在网上的某个地方被提及 – 但是这些目录不存在。 一个快速find / -name core -type f也没有产生任何有用的。 我错过了什么? 编辑:节点版本是v0.12.0。

如何在打字稿中加载电子模块

我尝试从打字稿中的电子获得ipcRenderer模块,将信息从当前组件发送到核心,并将信息返回窗口(电子铬浏览器)。 我得到的是通过将ts代码转码为ES5而出现“模块未find”的错误。 const ipc = require('electron')。ipcRenderer;` 更新:错误是在“找不到模块”和这个之间切换: ERROR in ./~/electron/index.js Module build failed: Error: ENOENT, open '/…/node_modules/electron/index.js' @ ./app/components/search/search.ts 12:10-29 这是从现在的电子api 。 我也尝试使用打字机的input语法,但结果是一样的。 比我试图在ES5文件中使用electron.ipcRenderer模块,直接在html文件中加载/链接。 那里工作。 为什么?

没有代理可以find以下function:咕噜

当我尝试在本地TFS 2015 Update 1上排队构build时,出现以下错误消息: 没有代理可以find以下function:咕噜 我已经安装了NodeJS和grunt-cli并且它们正在path中 (即它们可以从任何位置以cmd执行)。 我错过了什么?

如何从nodejs检测到它正在运行的JavaScript引擎?

现在有几个nodejs的分支,其中一些支持除了Google的V8引擎以外的JavaScript引擎。 对于我的节点代码来看它运行在哪个JS引擎上,目前最好的方法是什么? 我知道的引擎是: 谷歌的V8 – 官方node.js和iojs分支支持的唯一引擎。 JXcore支持的引擎之一 。 Mozilla的SpiderMonkey – JXcore支持的引擎之一 。 微软的ChakraCore – 微软的node.js端口支持的引擎,显然是JXcore支持的引擎之一,虽然我还没有那个工作。 ( 我已经提出了一个关于检测使用哪个nodejs分支的问题,这个问题只是关于检测JS引擎。

使用节点请求将Cookie JAR导出到JSON

request文档通过以下示例介绍如何从文件导入cookie: var FileCookieStore = require('tough-cookie-filestore'); // NOTE – currently the 'cookies.json' file must already exist! var j = request.jar(new FileCookieStore('cookies.json')); request = request.defaults({ jar : j }) request('http://www.google.com', function() { request('http://images.google.com') }) 但是,正如评论中指出的那样,它预计cookies.json已经存在。 问题是,如果我有一个带有cookie的exsting jar,我怎样才能把它导出到JSON?

在Karma中设置NODE_ENV运行webpack的正确方法是什么?

我正在用Webpack构build我的项目,并使用Karma来运行testing。 我想configurationKarma来设置process.env.NODE_ENV来“testing”Webpack来执行testing环境的项目的条件构build,URL映射到localhost,而不是生产域名。 为此,我使用Webpack的env-replace-loader ,它根据process.env.NODE_ENV的值读取其configuration文件environments.json并设置variables,例如API_URL。 在生产版本中,我使用Gulp来设置process.env.NODE_ENV并启动webpack。 有用。 我想在testing版本中设置process.env.NODE_ENV = 'test' ,通过运行karma start karma.conf.js 。 目前我只是在karma.conf.js说process.env.NODE_ENV = "test" 。 有没有更好的方法来做到这一点? 另外,我尝试使用webpack.config.js中的webpack的webpack.config.js来设置这个variables: const webpackConfig = { … plugins: [ new webpack.DefinePlugin({ process.env: {'NODE_ENV': 'test'} }), … ], … } 它不会工作:webpack env-replace-loader诅咒Module build failed: TypeError: Cannot read property 'URL' of undefined – 我想,它不能访问它看不到的节点报告

webpack-dev-server与后端api

我正在使用一个angularjs应用程序的webpack-dev-server,我从package.json中的一个任务开始,如下所示: "scripts": { "start-api": "node api/server.js", "dev": "webpack-dev-server –env dev –history-api-fallback –inline –progress –port 5000", "start": "npm run dev" }, 我有一个后端api服务器使用koa,并在同一个端口上运行: const koa = require('koa'); app.listen(5000); module.exports.app; 当koa服务器启动时,它拦截所有的请求,我不能浏览angular度浏览器的应用程序。 我应该服从koa的一切还是有办法让这两个人一起工作?