09、自動(dòng)將項(xiàng)目中的模板文件打包,并自動(dòng)安裝

    在項(xiàng)目中,經(jīng)常會(huì)遇到一些導(dǎo)出固定格式文件的需求。這種需求通常需要提前準(zhǔn)備一個(gè)模板(例如word、excel等)保存在項(xiàng)目中,但electron默認(rèn)會(huì)對(duì)應(yīng)用程序的代碼使用asar壓縮打包,打包以后就沒(méi)有辦法獲取到模板文件了,不打包又不夠安全,代碼容易被解密,那辛辛苦苦寫的東西就會(huì)被別人輕而易舉的讀取,如果含有保密的信息或者加密的代碼呢,后果很嚴(yán)重。所以,一定要用asar打包,那模板的問(wèn)題怎么辦?
    我找了很多資料來(lái)尋找解決的辦法,找到一個(gè)最簡(jiǎn)單最快捷最有效的辦法——配置package。在項(xiàng)目下新建一個(gè)文件夾extra,里面存放的是需要打包進(jìn)安裝包的文件,將這個(gè)文件夾配置到package里面即可,不需要寫任何代碼。調(diào)用的時(shí)候只需要獲取.exe的完整路徑,然后就可以找到安裝后的模板文件夾路徑了。網(wǎng)上講的最多的一個(gè)參數(shù)是extraResources,安裝應(yīng)用后路徑為```安裝目錄/resources/extra```,但是這種方法同樣要求不許用asar打包。要是能放在```安裝目錄/extra```里多好,就一點(diǎn)問(wèn)題都沒(méi)有了。
    事實(shí)是,真的可以?。?!步驟如下:
  1. 搭建electron-vue框架
    前面有詳細(xì)的介紹,這里就不再贅述了。Electron+Vue開(kāi)發(fā)輕量級(jí)應(yīng)用
  2. 項(xiàng)目下新建文件夾extra,與src、dist、build同級(jí),將模板文件或者其他一些想直接打包進(jìn)安裝包的文件丟進(jìn)去
    3.配置package,將新建的文件夾配置到extraFiles中
{  
  "build": {
    ……
    "extraFiles": [
      "extra/**"
    ],
    "asar": true,    
    "nsis": {
      "oneClick": false,
      "allowToChangeInstallationDirectory": true,
    },
    ……
  }  
}

4.開(kāi)發(fā)環(huán)境和正式環(huán)境調(diào)用extra文件夾中的內(nèi)容

import path from 'path'
import { app } from 'electron'

const helpPath = path.join(path.dirname(app.getPath('exe')), '/extra/模板文件.docx')
// 這就是文件的絕對(duì)路徑了,可以為所欲為了
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容