使用nw.js打包vue項目為exe可執(zhí)行文件

使用nw.js打包vue項目為exe可執(zhí)行文件

  1. 下載nw.js,下載地址https://nwjs.org.cn/

    • nw.js分為兩個版本,一個為sdk版本联四,一個為normal版本伯顶,使用sdk版本打包可以按F12進入開發(fā)者模式较锡,而normal版本不行
    image.png
  1. 解壓nw.js文件

    • 解壓后如圖:


      image.png
  • 在nw.js文件夾中建一個和pnacl平級的test文件夾
image.png
 {  
     /**指定程序的起始頁面猛频。*/  
     "main": "index.html",  
     /**字符串必須是小寫字母或者數(shù)字狮崩,可以包含.或者_(dá)或者-不允許帶空格蛛勉。name必須全局唯一。*/  
     "name": "demo",  
     /**程序描述*/  
     "description": "demo app of node-webkit",  
     /**程序版本號*/  
     "version": "0.1.0",  
     /**關(guān)鍵字*/  
     "keywords": ["demo","node-webkit"],  
     /**bool值睦柴,如果設(shè)置為false诽凌,將禁用webkit的node支持。*/  
     "nodejs": true,  
     /**  
     * 指定一個node.js文件坦敌,當(dāng)程序啟動時侣诵,該文件會被運行,啟動時間要早于node-webkit加載html的時間狱窘。  
     * 它在node上下文中運行杜顺,可以用它來實現(xiàn)類似后臺線程的功能。  
     * (不需要可注釋不用)  
     */  
     //"node-main": "js/node.js",  
     /**  
     * bool值训柴。默認(rèn)情況下哑舒,如果將node-webkit程序打包發(fā)布,那么只能啟動一個該應(yīng)用的實例幻馁。  
     * 如果你希望允許同時啟動多個實例,將該值設(shè)置為false越锈。  
     */  
     "single-instance": true,  
     /**窗口屬性設(shè)置 */  
     "window": {  
         /**字符串仗嗦,設(shè)置默認(rèn)title。*/  
         "title": "demo",  
         /**窗口的icon甘凭。*/  
         "icon": "link.png",  
         /**bool值稀拐。是否顯示導(dǎo)航欄。*/  
         "toolbar": false,  
         /**bool值丹弱。是否允許調(diào)整窗口大小德撬。*/  
         "resizable": true,  
         /**是否全屏*/  
         "fullscreen": false,  
         /**是否在win任務(wù)欄顯示圖標(biāo)*/  
         "show_in_taskbar": true,  
         /**bool值。如果設(shè)置為false躲胳,程序?qū)o邊框顯示蜓洪。*/  
         "frame": true,  
         /**字符串。窗口打開時的位置坯苹,可以設(shè)置為“null”隆檀、“center”或者“mouse”。*/  
         "position": "center",  
         /**主窗口的的寬度粹湃。*/  
         "width": 800,  
         /**主窗口的的高度恐仑。*/  
         "height": 670,  
         /**窗口的最小寬度。*/  
         "min_width": 400,  
         /**窗口的最小高度为鳄。*/  
         "min_height": 335,  
         /**窗口顯示的最大寬度裳仆,可不設(shè)。*/  
         "max_width": 800,  
         /**窗口顯示的最大高度孤钦,可不設(shè)歧斟。*/  
         "max_height": 670,  
         /**bool值记某,如果設(shè)置為false,啟動時窗口不可見构捡。*/  
         "show": true,  
         /**是否在任務(wù)欄顯示圖標(biāo)液南。*/  
         "show_in_taskbar":true,  
         /**  
          * bool值。是否使用kiosk模式勾徽。如果使用kiosk模式滑凉,  
          * 應(yīng)用程序?qū)⑷溜@示,并且阻止用戶離開應(yīng)用喘帚。  
          * */  
         "kiosk": false  
     },  
     /**webkit設(shè)置*/  
     "webkit": {  
         /**bool值畅姊,是否加載插件,如flash吹由,默認(rèn)值為false若未。*/  
         "plugin": true,  
         /**bool值,是否加載Java applets倾鲫,默認(rèn)為false粗合。*/  
         "java": false,  
         /**bool值,是否啟用頁面緩存乌昔,默認(rèn)為false隙疚。*/  
         "page-cache": false  
     }  
 } 

碰見幾個需要注意的地方:

  • vue項目打包的時候,一定要把開發(fā)環(huán)境下的代理去了磕道,不然會導(dǎo)致無法訪問后臺 </font>

  • package.json文件中的main和name屬性為必要字段


    image.png
  • package.json文件中的"max_width" 供屉,"max_height"設(shè)置之后會導(dǎo)致窗口縮小放大出現(xiàn)問題,刪除這兩個屬性就可以正衬缃叮縮放放大

  • icon屬性的文件格式為png可以正常顯示伶丐,ico格式不行

  • fullscreen屬性設(shè)置為true的話,就無法通過esc退出疯特,縮小等也會失效

  1. 做完以上步驟后就可以將新建的test文件夾拖到nw.exe上哗魂,如果不出問題的話,會出現(xiàn)一個預(yù)覽窗口辙芍,這就是打包之后的樣子

  2. 打包

    • 1-3步都沒有出問題的話啡彬,接下來將新建的test中的所有問件壓縮為test.zip

    • 將test.zip修改為test.nw,并放到和test文件夾同級的目錄

    • 在nw.js的文件夾打開dos窗口故硅,輸入copy /b nw.exe+test.nw test.exe庶灿,test.exe的test可以更改為自己想要的名字

    image.png

    image.png

接下來會出現(xiàn)一個test.exe文件,雙擊就會出現(xiàn)應(yīng)用窗口吃衅,但是這時的test.exe只能當(dāng)前文件夾下運行往踢,此時相當(dāng)于是一個免安裝的綠色軟件,如果想要弄成和qq這種一步步安裝的文件的話徘层,還得借助打包工具Inno Setup Compiler打包峻呕。

  1. 使用Inno Setup Compiler進行打包

    • 下載Inno Setup Compiler并安裝利职,打開

      image.png
    image.png
image.png
image.png

image.png

?然后一路next,

?
image.png
image.png

繼續(xù)next

image.png
image.png

隨便取個名字

image.png

保存,然后等待打包完成瘦癌,在剛選擇的生成目錄下就可以找到打包好的安裝文件猪贪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市讯私,隨后出現(xiàn)的幾起案子热押,更是在濱河造成了極大的恐慌,老刑警劉巖斤寇,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桶癣,死亡現(xiàn)場離奇詭異,居然都是意外死亡娘锁,警方通過查閱死者的電腦和手機牙寞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來莫秆,“玉大人间雀,你說我怎么就攤上這事×笪” “怎么了雷蹂?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長杯道。 經(jīng)常有香客問我,道長责蝠,這世上最難降的妖魔是什么党巾? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮霜医,結(jié)果婚禮上齿拂,老公的妹妹穿的比我還像新娘。我一直安慰自己肴敛,他們只是感情好署海,可當(dāng)我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著医男,像睡著了一般砸狞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上镀梭,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天刀森,我揣著相機與錄音,去河邊找鬼报账。 笑死研底,一個胖子當(dāng)著我的面吹牛埠偿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播榜晦,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼冠蒋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了乾胶?” 一聲冷哼從身側(cè)響起抖剿,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎胚吁,沒想到半個月后牙躺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡腕扶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年孽拷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片半抱。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡脓恕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出窿侈,到底是詐尸還是另有隱情炼幔,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布史简,位于F島的核電站乃秀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏圆兵。R本人自食惡果不足惜跺讯,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望殉农。 院中可真熱鬧刀脏,春花似錦、人聲如沸超凳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽轮傍。三九已至暂雹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間金麸,已是汗流浹背擎析。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人揍魂。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓桨醋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親现斋。 傳聞我的和親對象是個殘疾皇子喜最,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容