Cordova打包Vue項目

來源:互聯網
上載者:User
              第一步:安裝cordova        

如果已經安裝則直接跳過,否則執行以下命令:

npm install -g cordova

如果這個命令都不會運行,那我建議你不要繼續往下看了。 第二步:建立cordova項目

執行命令

cordova create cordovaApp com.cordova.testappcd cordovaAppcordova platform add android

到這裡我們的cordova項目就建立好了。 第三步:修改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:;">這個的時候可能導致頁面樣式改變,如果改變則不加,否則還是建議加上。

然後引入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

執行完成後會產生一個dist檔案夾,找到這個檔案夾將裡面的所有檔案複製到你的cordova項目的www檔案夾下替換它原有的檔案。
然後就可以執行

cordova build android

會產生一個可執行檔apk檔案,安裝即可。
到這裡就完成了我們vue項目的打包。 友情提示:

如果vue項目在運行npm run dev或者npm run build的時候遇到問題一般不是代碼出錯的話可以將node_modules檔案夾刪除使用npm install安裝。
如果是因為eslint導致代碼檢查不通過的話,可以將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')              }            },

這段代碼注釋即可。

作者:待花謝花開
連結:http://www.jianshu.com/p/25d797b983cd
來源:簡書

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.