背景
朋友是做商品零售,每月都需要將銷售數據匯總至年度銷售表格中,在這個過程中存在很多重複性的工作,無奈中。在一次聊天中,我了解到他的需求,就用 Vue 做了一個頁面,可以實現 Excel 轉成 JSON 進行操作,最後再將 JSON 轉成 Excel ,雖然後來了解到用 Python應該會更高效,待日後來研究!
不過咱好歹有個圖形界面,用戶體驗好!(自我安慰一波~)
接下來問題便來了,朋友完全不懂編程,每次都準備開發環境也挺麻煩,便想著能不能做成可執行文件.exe,直接雙擊安裝,生成快捷方式,直接就能用,人性化點贊!
1. Vue 項目打包為桌面應用
在網上看了下,常用的解決方案有 Electron 和 nw.js 等,廣大群眾都採用的 Electron ,鄙人就跟個風吧~
在學習的過程中,發現關於 Electron ,常見的有兩種打包方法:
第一種:將自己的 vue 項目打包,放到官方的 demo 文件中,改變打包路徑
第二種:在自己的 vue 的項目中引入插件,然後打包
經過一番嘗試,我決定採用第一種,原因是:特!別!簡!單!
下面詳細介紹下第一種方法:
第一步:把electron的官方例子扒下來,下面簡稱A,留著待用:
git clone https://github.com/electron/electron-quick-start
第二步:進入我們自己的項目(下面簡稱B),修改公共路徑為相對路徑(很多同學都是這步出了問題,導致 npm run build 後出現白屏情況):
執行下列指令,打開vue-cli圖形配置界面,選擇配置,修改公共路徑為 ./ , 保存即可:
vue ui
或者你可以點擊上圖中右上角的 打開 vue 配置, 或者在項目的根目錄中創建 vue.config.js, 設置以下內容:
module.exports = {
lintOnSave: undefined,
publicPath: ./,
outputDir: undefined,
assetsDir: undefined,
runtimeCompiler: undefined,
productionSourceMap: undefined,
parallel: undefined,
css: undefined
}
- 如果你是vue-cli2 或者 webpack 創建的項目:
進入config文件夾下的 index.js ,將其中的 assetsPublicPath 修改為相對路徑 ./ ,保存即可: