1. 程式人生 > >electron-edge中使用時未安裝Visual Studio 2015 redist 解決方法

electron-edge中使用時未安裝Visual Studio 2015 redist 解決方法

32位 target blank pan ger 安裝 col uil 6.0

之前有介紹過如何在Node.js中調用C#代碼:Node.js調用C#代碼,但是在Electron中卻不能直接使用Edge.js,因為Electron使用的Node.js版本不同,直接使用會出現JavaScript的錯誤彈窗。好在Electron中我們還可以使用electron-edge,它會將Edge.js預先編譯成適合Electron使用的版本。但是使用electron-edge必須要安裝:Visual Studio 2015 redist 和.NET framework 4.5,我目前就遇到由於客戶機器上沒有裝 Visual Studio 2015 redist 而出現錯誤的情況。由於不能要求每個用戶去安裝Visual Studio 2015 redist,所以一直找不到解決辦法。後來在搜索一些資料後,找到一個解決方案,但是並不完美,下面介紹一下解決方法:

首先,我的配置:

  • Windows7 64bit
  • Node --v6.9.1
  • npm --v5.6.0
  • electron --v1.7.12
  • electron-edge --v6.5.5
  • electron-packager --v9.1.0
1. 首先安裝 electron-edge
npm install electron-edge

2. 打開 electron-edge 目錄,然後沒命令行輸入

.\node_modules\electron-edge>node-gyp rebuild --target=1.7.12 --arch=x64 --dist-url=https://
atom.io/download/atom-shell

註意,我這邊使用的是x64平臺,因為我本機是64位的。

3. 使用 electron-packager 進行打包

 package.json文件

{
  "name": "web",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "packager": "electron-packager . Skynet.Flow.Web --platform=win32 --arch=x64 --electron-version=1.7.12 --overwrite=true --asar=false --out=../Skynet_saas/"
  },
  
"devDependencies": { "electron": "^1.7.12", "electron-edge": "^6.5.5", "electron-packager": "^9.1.0" }, "dependencies": { "electron": "^1.7.12", "electron-edge": "^6.5.5", "electron-packager": "^9.1.0" } }

  命令行輸入

npm run packager

4. 將打包好的程序放到未安裝 Visual Studio 2015 redist 的機器上測試,通過。

需要註意的是,我和測試機器都是 Windows7 64位的,所以用node-gyp rebulid時的版本和electron-packager打包時使用的都是 arch=x64,我之前想打包成32位時使用 arch=ia32,但是使用時會報錯“不是一個合格的32位應用”,具體原因還沒有找到,如果有小夥伴有解決方案,請告訴下我。

以上就是在使用 electron-edge 時碰到未安裝 Visual Studio 2015 redist 時出現錯誤的解決方案, 希望能夠幫到大家,謝謝。

electron-edge中使用時未安裝Visual Studio 2015 redist 解決方法