Electron+NodeJS+Node-Serialport安装备忘

来源:互联网 发布:2017程序员猝死 编辑:程序博客网 时间:2024/06/05 22:35

NodeJS Native Module Rebuild - remark

编译环境: VC 2017 Building Tool+ Python 2.7.13 x64 + NodeJS LTS 6.11.0, 确保node.exe、python.exe和npm 在PATH路径内

一、Init Electron 项目文件 package.json

{  "name": "electron-ui-tp2",  "version": "1.0.0",  "description": "ui template",  "main": "main.js",  "scripts": {    "start": "electron ."  },  "author": "vhjx",  "devDependencies": {    "electron": "*"  },  "dependencies": {    "serialport": "^4.0.7"  }}

二、安装nodejs 各模块

在开始菜单找到并打开 vc2017 x64本机工具命令提示或类似的工具

  1. cd project_dir // 进入electron项目目录
  2. npm install // 安装package.json内所需的各模块
  3. cd node_modules\serialport // 进入serialport目录
  4. npm install -g node-gyp // 安装node-gyp native module编译模块
  5. node-gyp rebuild --target=1.6.11--arch=x64 –disturl=https://atom.io/download/atom-shell

很可能因网络原因下载失败, 所以一般需要挂VPN才行

fail

success

注:

  • –target electron版本
  • –arch 适用处理器架构

测试

// 枚举可用串口function getPort(portName) {    let SerialPort = require("serialport");    let portInner = "";    SerialPort.list(function(err, ports) {        ports.forEach(function(port) {            let com = port.comName;            let isSelected = com === portName ? true : false;            let innerOption = '';            if(isSelected)                innerOption = `<option value="${com}" selected="selected">${com}</option>`;            else                innerOption = `<option value="${com}">${com}</option>`;            $(innerOption).appendTo("#portName");        });    });}

效果图

测试图

原创粉丝点击