我的任务是构建一个HTML5桌面应用程序,它与串口一起使用,因为我在COM端口的另一端有一个arduino。
我同时安装了electron-prebuilt
和serialport
个包(我在package.json
中指定了它们)。
在我的主网页中,我添加了main.js
,在那里我尝试了serialport
包,但是我收到了以下错误:
未捕获错误:找不到模块 'd:\项目\ Arduino的\ HTMLPresentation \ node_modules \的serialport \建立\的serialport \ v1.7.4 \发布\节点-V45-Win32的64 \ serialport.node'
我已经阅读了一些关于该问题的QA主题(一些带有node-gyp
的abracadabras),但注意到我的工作:在Windows 8.1和Ubuntu 15.04上。我不知道如何为电子采用serialport包。
答案 0 :(得分:1)
使用Electron-Rebuild:此可执行文件针对您的Electron项目正在使用的io.js版本重建本机io.js模块。这允许您在Electron应用程序中使用本机io.js模块,而不会使您的系统版本的io.js完全匹配。
npm install --save-dev electron-rebuild
# Every time you run "npm install", run this
./node_modules/.bin/electron-rebuild
# On Windows if you have trouble, try:
.\node_modules\.bin\electron-rebuild.cmd
答案 1 :(得分:1)
我的环境:
Vue.js: 2.6.10
Electron: 2.0.18
Node: 8.9.3
Platform: linux
如果您将Eletron与Vue.js结合使用,则需要重建串口模块,如下所示:
npm install electron-rebuild --save-dev
在此之后,您可以在package.json>“脚本”部分中添加另一行:
"rebuild": "electron-rebuild -f -w serialport"
您可以使用终端命令重建模块
npm run rebuild
现在应该导入串行端口模块,并且可以按预期工作。祝你好运!
答案 2 :(得分:0)
这就是您要解决的方式
通过在具有管理员权限的Powershell中运行此工具,在计算机中安装Windows构建工具
npm install --global --production windows-build-tools
或npm --add-python-to-path ='true'-调试安装--global Windows-build-tools
setx PYTHON "%USERPROFILE%\.windows-build-tools/python27/python.exe"
set PYTHON
set PYTHON可帮助您检查其设置是否正确。
这还不足以在您的项目文件中全局安装电子重建
npm install -g electron-prebuilt
npm install --save serialport
我们必须重建串行端口才能使用电子。为此,我们需要> install electronic-rebuild:
npm install --save-dev electron-rebuild
最后一步是再次在应用程序的根>目录中运行电子重建:
./node_modules/.bin/electron-rebuild
导入并在您的电子战项目中使用
<script>
const sp = require('serialport')
export default {
name: 'landing-page',
methods: {},
created () {
sp.list(function (error, ports) {
if (error) {
console.log(error)
} else {
console.log(ports)
}
})
}
}
</script>