您好,登錄后才能下訂單哦!
現(xiàn)在國內(nèi)越來越多的開發(fā)者使用Vue開發(fā)混合app,但是當(dāng)大家開發(fā)完成過后才發(fā)現(xiàn)不知道該怎么將Vue項目打包成app。
據(jù)我現(xiàn)在的了解打包Vue項目目前流行的就是使用weex和cordova。weex是阿里提供并且Vue的作者也極力推薦的,有興趣的可以去學(xué)習(xí)使用一下。因為我本身是做angular+ionic的,所以比較青睞cordova,下面我就教大家怎么使用cordova打包Vue項目:
第一步:安裝cordova
如果已經(jīng)安裝則直接跳過,否則執(zhí)行以下命令:
npm install -g cordova
如果這個命令都不會運行,那我建議你不要繼續(xù)往下看了。
第二步:新建cordova項目
執(zhí)行命令
cordova create cordovaApp com.cordova.testapp cd cordovaApp cordova platform add android
到這里我們的cordova項目就創(chuàng)建好了。
第三步:修改vue項目
如果你沒有vue項目的話,自行百度去新建一個vue項目吧。
首先修改vue項目的index.html
在head之間加入
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;"> <meta name="format-detection" content="telephone=no"> <meta name="msapplication-tap-highlight" content="no"> <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
這里注意加入<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">
這個的時候可能導(dǎo)致頁面樣式改變,如果改變則不加,否則還是建議加上。
然后引入cordova.js
<body> <div id="app"></div> <script type="text/javascript" src="cordova.js"></script> <!-- built files will be auto injected --> </body>
然后修改src中的main.js為以下代碼
// The Vue build version to load with the `import` command // (runtime-only or standalone) has been set in webpack.base.conf with an alias. import Vue from 'vue' import App from './App' import router from './router' Vue.config.productionTip = false /* eslint-disable no-new */ document.addEventListener('deviceready', function() { new Vue({ el: '#app', router, store, template: '<App/>', components: { App } }) window.navigator.splashscreen.hide() }, false);
最后修改config文件夾中的index.js文件
修改build中的
assetsSubDirectory: 'static', assetsPublicPath: '/',
為
assetsSubDirectory: '', assetsPublicPath: '',
然后運行
npm run dev
看看是否能夠運行起來,如果正常說明到這里是沒有問題的。
第四步:將vue文件放到cordova項目中并打包
先在vue項目中運行
npm run build
執(zhí)行完成后會生成一個dist文件夾,找到這個文件夾將里面的所有文件復(fù)制到你的cordova項目的www文件夾下替換它原有的文件。
然后就可以執(zhí)行
cordova build android
會生成一個可執(zhí)行的apk文件,安裝即可。
到這里就完成了我們vue項目的打包。
友情提示:
如果vue項目在運行npm run dev或者npm run build的時候遇到問題一般不是代碼出錯的話可以將node_modules文件夾刪除使用npm install安裝。
如果是因為eslint導(dǎo)致代碼檢查不通過的話,可以將Vue項目的build文件夾下的webpack.base.config文件中的rules
{ test: /\.(js|vue)$/, loader: 'eslint-loader', enforce: 'pre', include: [resolve('src'), resolve('test')], options: { formatter: require('eslint-friendly-formatter') } },
這段代碼注釋即可。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。