【发布时间】:2020-06-30 10:39:15
【问题描述】:
在尝试使用 deno 从 arduino 获取读数时,我陷入了正确使用串行端口库的问题。我尝试了以下方法:
根据article 的包来自pika.dev 可以使用。
但我从鼠兔那里得到:However, no web-optimized "module" entrypoint was found in its package.json manifest.
同样使用jpsm.org 也不起作用:
import * as SerialPort from "https://dev.jspm.io/serialport";
中断:error: Uncaught TypeError: exists is not a function
可能是因为缺少类型标头,在 npm 中应该可以使用 @types/serialport 但在 pika.dev 或 jspm.io 上不可用。
使用 npm 安装 serialport 和 @types/serialport 并引用它们的本地路径如下,也不是解决方案:
// @deno-types="./node_modules/@types/serialport/index.d.ts"
import * as SerialPort from "https://dev.jspm.io/serialport";
错误是:error: relative import path "stream" not prefixed with / or ./ or ../ Imported from "file:///home/user/code/deno-serial-test/node_modules/@types/serialport/index.d.ts"
意味着它会抱怨,因为 npm 下载的库依赖项不是相对路径。这意味着我需要更改/修补所有库模块。
我要运行的代码是:
// import * as SerialPort from "https://dev.jspm.io/npm:serialport@9.0.0/lib/index.dew.js";
// @deno-types="./node_modules/@types/serialport/index.d.ts"
import * as SerialPort from "https://dev.jspm.io/serialport";
async function readAvailablePorts() {
const ports = await SerialPort.list();
console.log('Available SerialPorts: ', ports);
}
readAvailablePorts();
任何如何解决的想法将不胜感激。
【问题讨论】:
-
看看see here。我前段时间问过这个问题,但还没有尝试将其付诸实践。让我们知道您是否取得了一些成功。我也想和 Deno 和 Arduino 交流。
标签: typescript npm deno node-serialport