2018-10-28
神坑:edge環境搭建
根據網上許多教程提到的使用
npm install edge
命令即可在項目中插入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)
什麼鬼,去搜索 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");
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);
});
7.在控制檯或者 cmd命令中 輸入 electron .
查看控制檯或cmd命令輸出情況,前提必須切換到當前項目目錄
可以說歷經“坎坷”終於對 edge 描述的第一個實例搞出效果了。萬事開頭難,開了頭後面的就自由發揮了
。再次還有感謝 雪泥鴻爪clh