0

我想使用 node.js 串行端口,以便我在浏览器中运行的 unix 可以访问串行端口(uart)。我确定serialport 是一个了不起的模块,但我无法得到它。node.js 很棒,但 npm 很可耻。我受限于 Windows8(对不起),由于 \r 字符,npm 在 cygwin 中失败,在我配置 Python 后,npm 失败,环境变量带有“奇怪的错误 1”。那没有帮助。

但无论如何我都不想npm。我确实下载了一个 mime.js 并直接要求它。我的要求清单如下。我想对串口做同样的事情。这意味着我可以交付我的整个源代码 tar,用户只需要安装 vanilla node.js,而不用弄乱 npm/python

那么如何获取serialport的源代码需要它作为我自己的模块,例如下面的mime,sprintv。

http = require('http'),
url = require('url'),
path = require('path'),
fs = require('fs'),
proc = require('child_process'),
mime = require('./mime.js'), // mime is not intrinsic
stdio = require('./sprintv.js'), // sprintf type function via dummy stdio
4

2 回答 2

2

你不能这样做,serialport因为serialport有 C/C++ 源代码。

npm install不仅下载源代码,还下载依赖项并为每个平台编译它们。

无论如何,如果你可以编译 C/C++,node-gyp你可以serialport在这里下载:

转到https://github.com/voodootikigod/node-serialport

然后点击下载 ZIP

于 2013-12-21T13:52:28.100 回答
0

我在安装串行端口时又运行了一次。根据voodootikigod的说明, 我下载了 python 2.7.6 和适用于 Windows 桌面的 Visual Studio Express 2013。

我执行了以下脚本:

set path=%path%;C:\Python27
npm install node-gyp -g
git clone https://github.com/voodootikigod/node-serialport.git
cd node-serialport
node-gyp configure
node-gyp build

它成功地宣布它已构建到 .\node-serial\build\Release\serialport.node

c:\program files\nodejs 中的节点可执行文件不变,不能要求“serialport”

如果我尝试在 .\node-serial\bin\serialportList.js 中执行脚本

#!/usr/bin/env node

var serialport = require('../');
var sf = require('sf');

serialport.list(function (err, results) {
  if (err) {
    throw err;
  }

  for (var i = 0; i < results.length; i++) {
    var item = results[i];
    console.log(sf('{comName,-15} {pnpId,-20} {manufacturer}', item));
  }
});

它失败了:找不到模块“绑定”。我安装了它,然后安装了'async','sf'

我也不明白需要什么('../'); 应该做。需要上一个目录中的所有内容?

执行但不幸的是我现在没有连接串行端口:(所以它什么都不显示

于 2014-01-02T19:26:19.133 回答