一日心血來潮,屁顛屁顛的去研究electron。
打開百度,搜索 electron。
找到官網,按照官方文檔一步一步構建項目
粗略掃一眼,簡直不要太簡單!
然!!!!
當到安裝electron。
npm install --save-dev electron
可能是程序員自身光環吧,研究什么,什么報錯!!!
npm安裝執行 run "node install.js"
時候報錯!
然后各種百度,解決方案,窮出不窮。
嘗試yarn
安裝, 修改.npmrc
添加 ELECTRON_MIRROR
(我的npm好像壞了一樣,并不起作用),使用cnpm
下載......
過程之艱辛,讓人聽者流淚,見者傷心!
可!!然并卵!
打擾了!我要學習《Electron 從入門到放棄》了!
可是轉念一想,門都沒摸進去,放個啥門子的棄喲!繼續折騰吖!
自己動手,豐衣足食。網上沒有解決辦法,那就自己琢磨一下。
這廝既然報錯操作不了下載的包,那在下姑且就先懷疑是下包地址有問題!(用cnpm
是用國內鏡像,下載不了,應該地址是有問題)!找到它的下載地址先!
進到項目目錄 node_modules\electron\install.js 找到如下代碼
// downloads if not cached
downloadArtifact({
version,
...//省略,太多辣。
}).then((zipPath) => extractFile(zipPath)).catch((err) => onerror(err))
查看它的引用 (VSCode 按住CTRL)
可以看到downloadArtifact
在 @electron/get/dist/cjs/index里
打開 @electron/get/dist/cjs/index.js,找到 function downloadArtifact(_artifactDetails){...}
將url輸出出來,牛鬼神蛇,快快現身。
console.log(url)
終端定位到項目目錄下的 node_modules\electron
里, 運行 node install.js
在輸出里看包地址在哪!
PS H:\codes\testElectron\node_modules\electron> node install.js
https://github.com/electron/electron/releases/download/v7.0.0/electron-v7.0.0-win32-x64.zip
(有沒有大神告訴我,這廝為什么不走國內鏡像??)
emmm... github 繼續修改鏡像地址吧。
解決方案:
修改項目目錄下的 node_modules\electron\install.js
downloadArtifact({
version,
artifactName: 'electron',
force: process.env.force_no_cache === 'true',
cacheRoot: process.env.electron_config_cache,
platform: process.env.npm_config_platform || process.platform,
arch: process.env.npm_config_arch || process.arch, //結尾別忘了加逗號!
//添加如下代碼,
mirrorOptions:{
mirror: 'https://npm.taobao.org/mirrors/electron/',
customDir: version
}
}).then((zipPath) => extractFile(zipPath)).catch((err) => onerror(err))
ps : customDir
在downloadArtifact
拼接下載地址的時候,它會自動在版本號前加上字符v
從而來下載github的鏡像
github
https://github.com/electron/electron/releases/download/v7.0.0/electron-v7.0.0-win32-x64.zip
可這樣,就會導致淘寶鏡像下載出錯!
淘寶的鏡像中目錄中版本目錄,是不帶v
的
https://npm.taobao.org/mirrors/electron/7.0.0
/electron-v7.0.0
-win32-x64.zip
再次用終端打開 項目目錄下的 node_modules\electron
運行 node install.js
PS H:\codes\testElectron\node_modules\electron> node install.js
https://npm.taobao.org/mirrors/electron/7.0.0/electron-v7.0.0-win32-x64.zip
PS H:\codes\testElectron\node_modules\electron>
解決!!!
終端再次項目目錄運行項目
PS H:\codes\testElectron> cnpm start
> testelectron@1.0.0 start H:\codes\testElectron
> electron .
希望能對你有點幫助!!!