Electron执行C#代码遇到的坑

2018-10-28

神坑:edge环境搭建

根据网上许多教程提到的使用

npm install edge
  • 1

命令即可在项目中插入edge,然后可以愉快的执行C#代码了,然而我执行之后,提示

Error: The edge module has not been pre-compiled for node.js version v10.2.0. You must build a custom version of edge.node. Please refer to https://github.com/tjanczuk/edge for building instructions.
    at determineVersion (E:\椤圭洰鏂囦欢\VS鏂囦欢\VS椤圭洰\瀛︿範椤圭洰\electrons\ForNetCore\NodejsElectronApp\JpFramework.electrons\node_modules\electron-edge\lib\edge.js:18:11)
    at Object.<anonymous> (E:\椤圭洰鏂囦欢\VS鏂囦欢\VS椤圭洰\瀛︿範椤圭洰\electrons\ForNetCore\NodejsElectronApp\JpFramework.electrons\node_modules\electron-edge\lib\edge.js:30:102)
    at Object.<anonymous> (E:\椤圭洰鏂囦欢\VS鏂囦欢\VS椤圭洰\瀛︿範椤圭洰\electrons\ForNetCore\NodejsElectronApp\JpFramework.electrons\node_modules\electron-edge\lib\edge.js:172:3)
    at Module._compile (internal/modules/cjs/loader.js:711:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:722:10)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:559:12)
    at Function.Module._load (internal/modules/cjs/loader.js:551:3)
    at Module.require (internal/modules/cjs/loader.js:658:17)
    at require (internal/modules/cjs/helpers.js:20:18)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

什么鬼,去搜索 electron edge,结构有什么nodejs v 7.4,好吧,就换成 7.4试试,然而还是这个错,查看
electron版本之后发现:目前electron的自带node.dll为 10.2.0.0,如下图
在这里插入图片描述
继续搜索,我就是想用 C#写electron来着 -_-!
然后发现 可以使用 npm install electron-edge可样子这次比较靠谱,信心满满的使用命令,然后创建工程,然而,还是和上面一毛一样的问题,可以说网上这方面的资料贼JB少,没办法,正在准备放弃的时候,看到一篇文章中提到 要使用 electron-edge-js传送门抱着半信半疑的态度,试一下吧。还原nodejs环境 为 10.2.0.0
1.创建工程
2.使用npm init初始化程序信息
3.使用npm install --save-dev electron添加 electron支持
4.使用npm install --save-dev electron-edge-js添加edge electron 的兼容版本
5.创建main.js文件,引用electron-edge-js模块

 var edge = require("electron-edge-js");
  • 1

6.在 main.js中添加一下方法,

//这里有个坑,不要以为下面代码中的 /**/是注释来着。在edge中想要执行C#代码 就需要 /**/包括着
 var helloWorld = edge.func(function () {/*
    async (input) => { 
        return ".NET Welcomes " + input.ToString(); 
    }
*/});
helloWorld('JavaScript', function (error, result) {
    if (error) throw error;
    console.log(result);
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

7.在控制台或者 cmd命令中 输入 electron .查看控制台或cmd命令输出情况,前提必须切换到当前项目目录
在这里插入图片描述
可以说历经“坎坷”终于对 edge 描述的第一个实例搞出效果了。万事开头难,开了头后面的就自由发挥了。再次还有感谢 雪泥鸿爪clh

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值