Articles of node.js

Node.js hubot在服务器上执行命令

我试图在服务器上使用hubot执行命令。 这个例子适用于我: robot.respond /(cmd)/i, (msg) -> doing = spawn 'ls', ['-la'] doing.stdout.on 'data', (data) -> msg.send data.toString() 但是,我需要在执行我要执行的命令之前更改文件夹。 我想让hubot运行的是: cd /var/folder && some-command 但从hubot脚本更改文件夹不起作用。 执行的命令有很多基于它所在的文件夹加载的文件,所以它似乎我必须去这个文件夹。 我如何使hubot从特定path执行命令?

添加.env可变参数以运行给定的命令

我有一个.env文件中的variables就像这样: HELLO=world SOMETHING=nothing 有一天我发现了这个很棒的脚本,这些脚本将这些variables放到当前会话中,所以当我运行这样的东西的时候 $(cat ./.env | grep -v ^# | xargs) && node test 然后我可以访问test.js节点文件中的variables。 console.log(process.env.HELLO) console.log(process.env.SOMETHING) 问题在于,该命令将.envvariables放在整个会话中,所以当我运行node test而没有使用$(cat ./.env | grep -v ^# | xargs)后,它仍然可以访问对于这些variables,我正在编写一个node.jstesting来说明这些variables,我希望能够在没有这些.envvariables的情况下运行相同的命令,而不必担心它们是否仍在会话中。 理想情况下,我想跑 put-env-variables-for-this-command-first-command node test && node test 并且只有在testing脚本第一次运行时才能使用envvariables。

从PHP脚本启动FOREVER或PM2作为WWW-DATA

我有一个名为script.js的nodejs脚本。 var util = require('util'); var net = require("net"); process.on("uncaughtException", function(e) { console.log(e); }); var proxyPort = "40000"; var serviceHost = "1.2.3.4"; var servicePort = "50000"; net.createServer(function (proxySocket) { var connected = false; var buffers = new Array(); var serviceSocket = new net.Socket(); serviceSocket.connect(parseInt(servicePort), serviceHost); serviceSocket.pipe(proxySocket).pipe(serviceSocket); proxySocket.on("error", function (e) { serviceSocket.end(); }); serviceSocket.on("error", function (e) […]

我如何编译节点C ++插件,以便我可以使用它在亚马逊AWS上分发?

AWS lambda不支持在系统上安装Linux二进制文件,您将不得不在系统中包含可执行文件。 这对于已经提供静态可执行文件的ffmpeg等可执行文件来说很容易。 这将如何工作节点二进制插件编译为使用node-gyp ? 简单地包括从Linux环境的build/目录工作? 有没有人知道这个呢?

我如何安装节点和NPM,所以我不必使用sudo?

我试图在Ubuntu 14.04机器上设置Node.js和NPM,但遇到了一些麻烦。 在我第一次尝试时,我试图安装软件包(有时甚至与sudo )不断得到EACCES错误,所以我完全卸载节点和npm。 现在我想弄清楚如何安装它们,而不需要我运行所有的sudo ,不会给我EACCES错误。 我宁愿不使用NVM,除此之外,我刚刚发现了一些零散的部分答案,其中一些相互矛盾,或者只是使用稍微不同的语法。 我真的很感谢这个帮助。 我刚刚从Windows切换到Linux,并试图build立起来,所以我可以再次开始工作。

是否有可能读出node.js中的物理键盘笔画?

我有一个运行在树莓派上的节点应用程序,可以跟踪一堆UPnP播放器(Sonos),我希望能够通过物理遥控器进行控制。 我有几个airmouses,有小键盘以及音量button,我想使用。 我试图掌握如何读取Linux机器上的物理按键,并得出结论,我需要从input设备读取事件,在我的情况下是这样的: /dev/input/by-id/usb-Dell_Dell_QuietKey_Keyboard-event-kbd 如何find这样的设备和东西不是一个问题,真正的问题是如何解读您从中读取的数据。 我知道你会收到一个C结构,像这样: struct input_event { struct timeval time; unsigned short type; unsigned short code; unsigned int value; }; 但我不知道我会怎么去读这个节点。 如果我可以运行一个外部应用程序,它将从预定义的击键触发,然后调用一个HTTP请求对我的节点,这将是我的第二个select,一个Python脚本或一些本地守护进程。 然而,我看了一些热门的守护进程,但没有一个能够工作。 如果我能以某种方式将它包含在节点中,当然会很好。 编辑:所以我做了一些testing,并做了一个简单的片段: var fs = require('fs'); var buffer = new Buffer(16); fs.open('/dev/input/by-id/usb-HJT_Air_Mouse-event-kbd', 'r', function (err, fd) { while (true) { fs.readSync(fd, buffer, 0, 16, null); console.log(buffer) } }); 这输出这样的东西(空间): <Buffer […]

grunt服务器无法连接<gruntjs>

module.exports = function(grunt) { // Project configuration. grunt.initConfig({ server: { port: 8888, base: '.' } }); }; C:\Program Files\nodejs\test\grunt> C:\Program Files\nodejs\test\grunt>grunt server Running "server" task Starting static web server on port 8888. 完成,没有错误。 但不能通过[http://127.0.0.1:8888][1] in browsers ! jiong~input[http://127.0.0.1:8888][1] in browsers ! jiong~连接[http://127.0.0.1:8888][1] in browsers ! jiong~ [http://127.0.0.1:8888][1] in browsers ! jiong~ 如何解决这个问题在Windows或UNIX?

Nodejs与C ++程序通信?

假设我有一个在Node.js的web服务器上运行的c ++程序。 Cpp程序维护一个队列,我想用Node.js做的事情是将一些数据拉入队列。 什么是最好的方法来做到这一点? 哪个更好? 套接字还是IPC? (操作系统是Linux)

PhoneGap – build设phonegap android应用程序给Linux编译错误

我在我的linux(Ubuntu 12.04)机器上构buildphonegap android应用程序时出现错误。 我已经安装了nodejs,将JAVA_HOME,ANT_HOME,ANDROID_HOME vars和$ JAVA_HOME / bin,$ ANT_HOME / bin,$ ANDROID_HOME / tools,$ ANDROID_HOME / platform-tools设置为path。 当我运行命令phonegap local build android ,我得到以下错误: ME@My-PC:/dos/PhoneGap/HelloWorld$ phonegap local run android [phonegap] compiling Android… [error] An error occurred while building the android project. module.js:340 throw err; ^ Error: Cannot find module 'shelljs' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at […]

在多个node.js HTTP进程中共享一个端口

我有一个根服务器上运行几个node.js项目。 他们应该在自己的进程和目录中分别运行。 考虑这个文件结构: /home +– /node +– /someProject | www.some-project.com | +– index.js | +– anotherFile.img | +– … +– /anotherProject | www.another-project.com | +– /stuff | +– index.js | +– … +– /myWebsite | www.my-website.com | +– /static | +– index.js | +– … +– … | … 每个index.js都应该以cwd设置为其父文件夹( someProject , anotherProject等)的单个进程启动。 想想主机。 每个项目启动一个networking服务器,它监听自己的域名。 […]