vue + cordova 打包webapp

话不多说,直接上步骤:
1.新建cordova项目。

cordova create cordovaApp

2.新建vue项目。(不会新建vue项目的同学去看vue官网)

……
vue init webpack myApp
……

3.把vue项目放进cordova项目文件夹下(就放在最外层目录)。
4.进入到vue项目目录
修改vue项目下的index.html,在head标签内加入以下




可以加上下面这个meta标签,是CSP(内容安全策略),用来减少跨站脚本攻击,只允许本站资源访问。但如果加的话,在开发过程中,浏览器访问时需要做跨域处理。请看 http://www.jianshu.com/p/b1db8d9dfcf7。


引入cordova.js


    

然后修改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: '',
        components: { App }
    })
    window.navigator.splashscreen.hide()
}, false);

最后修改config文件夹中的index.js文件

build: {
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
……
}

修改为

build: {
    // Template for index.html
    index: path.resolve(__dirname, '../../www/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, '../../www'),
    assetsSubDirectory: '',
    assetsPublicPath: '',
……
}

5 .对Vue工程进行build,编译之后打包生成的代码自动跑到cordova项目目录下的WWW文件下

cd 到Vue的myApp目录下,执行npm run build

6.进入到cordova项目目录

cordova platform add android

7.webapp如果用到cordova插件,则在cordova目录下添加插件,在vue目录下的src文件夹中编写使用插件的代码)

cordova plugin add <插件名>

8.在cordova项目目录下进行打包

cordova build android

PS:每次打包都从新npm run build然后cordova build android。

你可能感兴趣的:(vue + cordova 打包webapp)