【前端】Vue和Vux开发WebApp日志三、完善gulp任务
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_3.html
项目github地址:https://github.com/shamoyuu/vue-vux-iconan
我们继续完善我们常用的几个任务。
首先把在安卓手机上运行的任务独立出来
'cordova.run.android': () => {
shelljs.cd('./dist');
shelljs.exec('cordova run android');
shelljs.cd(__dirname);
}
然后修改run.android任务,在最后面添加cordova.run.android
'run.android': () => {
runSequence(
'clean.dist',
'copy.cordova',
'webpack.build',
'cordova.run.android'
)
}
执行一下,跟原来执行的一样一样。
然后我们新建一个build.android方法,来打出apk的包,不过在这之前,我们先要完成2件事
首先我们现在来生成一个安卓的证书文件iconan.keystore。
在CMD里执行
keytool -genkey -alias iconan -keyalg RSA -validity 20000 -keystore iconan.keystore
然后设置一些秘密、姓名、公司名、地址等等的信息就可以了,最后生成的iconan.keystore文件可能在java/bin文件夹下,也可能在C:\Users\[用户名]下。然后把这个文件复制到我们项目的根目录。
然后在项目根目录新建一个build.json文件,用来存放打包的一些信息
{
"android": {
"debug": {
"keystore": "./iconan.keystore",
"storePassword": "123456",
"alias": "iconan",
"password" : "123456",
"keystoreType": ""
},
"release": {
"keystore": "./iconan.keystore",
"storePassword": "123456",
"alias": "iconan",
"password" : "123456",
"keystoreType": ""
}
}
}
然后开始添加cordova.build.android的gulp任务
'cordova.build.android': () => {
shelljs.cd('./dist');
shelljs.exec('cordova build android --buildConfig=../build.json');
shelljs.cd(__dirname);
}
然后添加build.android任务
'build.android': () => {
runSequence(
'clean.dist',
'copy.cordova',
'webpack.build',
'cordova.build.android'
)
}
可以看到build.android和run.android非常相似,只有最后一个任务不同,这就是使用gulp和runSequence比较好的方面,可以自己组合出不同的任务。
然后我们添加dev任务,用来开发的时候用
首先添加gulp-shell插件,这个跟shelljs不太一样,我们用来它执行一些其他指令
npm install gulp-shell --save-dev
然后在gulpfile.js文件引入
const shell = require('gulp-shell');
然后给tasks添加dev,不过它不再是个function,顺便把它当成default方法
//默认任务
'default': ['dev'],
//开发模式
'dev': shell.task([
'webpack-dev-server --inline --progress --config build/webpack.dev.conf.js'
]),
但是这样启动会报错
Module build failed: Error: "extract-text-webpack-plugin" loader is used without the corresponding plugin, refer to https://github.com/webpack/extract-text-webpack-plugin for the usage example
根据报错提示,访问https://github.com/webpack/extract-text-webpack-plugin 可以得到解决办法
打开webpack.dev.conf.js文件,添加extract-text-webpack-plugin的引用
const ExtractTextPlugin = require('extract-text-webpack-plugin');
然后devWebpackConfig的plugins添加
new ExtractTextPlugin("styles.css")
其他不用动,然后删除package.json文件里的scripts属性,因为我们现在完全可以用gulp来处理
【前端】Vue和Vux开发WebApp日志三、完善gulp任务的更多相关文章
- 【前端】Vue和Vux开发WebApp日志四、增加命令行参数
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_4.html 项目github地址:https://github.com/shamoyuu/vue- ...
- 【前端】Vue和Vux开发WebApp日志一、整合vue+cordova和webpack+gulp
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux.html 项目github地址:https://github.com/shamoyuu/vue-vu ...
- 【前端】Vue和Vux开发WebApp日志二、优化gulp任务
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_2.html 项目github地址:https://github.com/shamoyuu/vue- ...
- Web前端-Vue.js必备框架(三)
Web前端-Vue.js必备框架(三) vue是一款渐进式javascript框架,由evan you开发.vue成为前端开发的必备之一. vue的好处轻量级,渐进式框架,响应式更新机制. 开发环境, ...
- 团队开发前端VUE项目代码规范
团队开发前端VUE项目代码规范 2018年09月22日 20:18:11 我的小英短 阅读数 1658 一.规范目的: 统一编码风格,命名规范,注释要求,在团队协作中输出可读性强,易维护,风格一致 ...
- 如何优雅的使用vue+vux开发app -03
如何优雅的使用vue+vux开发app -03 还是一个错误的示范,但是离优雅差的不远了... <!DOCTYPE html> <html> <head> < ...
- 如何优雅的使用vue+vux开发app -02
如何优雅的使用vue+vux开发app -02 很明显这又是一个错误的示范,请勿模仿 使用动态组件实现保留状态的路由 <!DOCTYPE html> <html> <he ...
- 如何优雅的使用vue+vux开发app -01
如何优雅的使用vue+vux开发app -01 很明显下面是个错误的示范: <!DOCTYPE html> <html> <head> <title>v ...
- vue 开发系列(三) vue 组件开发
概要 vue 的一个特点是进行组件开发,组件的优势是我们可以封装自己的控件,实现重用,比如我们在平台中封装了自己的附件控件,输入控件等. 组件的开发 在vue 中一个组件,就是一个独立的.vue 文件 ...
随机推荐
- Android开发模板代码(二)——为ImageView设置图片,退出后能保存ImageView的状态
接着之前的那个从图库选择图片,设置到ImageView中去,但是,我发现了一个问题,就是再次进入的时候ImageView是恢复到了默认状态,搜索了资料许久之后,终于是发现了解决方法,使用SharePr ...
- 6 个 Linux 运维典型问题
作为一名合格的 Linux 运维工程师,一定要有一套清晰.明确的解决故障思路,当问题出现时,才能迅速定位.解决问题,这里给出一个处理问题的一般思路: 重视报错提示信息:每个错误的出现,都是给出错误提示 ...
- tomcat中session在两个webapp中实现共享
现在遇到一个需求就是要求完成简单的单点登录,通过在一个tomcat实例中放置两个webapps应用ROOT应用和CEO应用来完成在ROOT应用登录后,在CEO可以直接使用,而未在ROOT应用登录时,不 ...
- Jmeter之性能压测Stepping Thread Group 逐步增加并发数 阶梯式加压并发 (十五)
前段时间有描述过性能的测试类型 配置负载 Big Bang: 负载同时产生 Ramp up: 开始时候产生一定负载,然后每隔一段时间增加一些负载直到达到目标负载,这是典型模式 Ramp-up (wit ...
- java中的二叉树排序问题
原创:转载请注明出处 目的:想用java实现二叉树排序算法 思想:利用java中面向对象的思想,即: Tree:类 树根Tree:root //static所属于每一个Tree 左节点Tree:lef ...
- 浅谈python的对象的三大特性之封装
我们家里都有电视机,从开机,浏览节目,换台到关机,我们不需要知道电视机里面的具体细节,只需要在用的时候按下遥控器就可以完成操作,这就是功能的封装. 在用支付宝进行付款的时候,只需要在用的时候把二唯码给 ...
- Hadoop学习笔记三
一.设置HDFS不进行权限检查 默认的HDFS上的文件类似于Linux中的文件,是有权限的.例如test用户创建的文件,root用户如果没有写权限,则不能进行删除. 有2种办法进行修改,修改文件的权限 ...
- BZOJ 3566: [SHOI2014]概率充电器 [树形DP 概率]
3566: [SHOI2014]概率充电器 题意:一棵树,每个点\(q[i]\)的概率直接充电,每条边\(p[i]\)的概率导电,电可以沿边传递使其他点间接充电.求进入充电状态的点期望个数 糖教题解传 ...
- BZOJ 4766: 文艺计算姬 [矩阵树定理 快速乘]
传送门 题意: 给定一个一边点数为n,另一边点数为m,共有n*m条边的带标号完全二分图$K_{n,m}$ 求生成树个数 1 <= n,m,p <= 10^18 显然不能暴力上矩阵树定理 看 ...
- C 洛谷 P3599 Koishi Loves Construction [构造 打表观察]
题目描述 Koishi决定走出幻想乡成为数学大师! Flandre听说她数学学的很好,就给Koishi出了这样一道构造题: Task1:试判断能否构造并构造一个长度为的的排列,满足其个前缀和在模的意义 ...