详解vue-cli 构建Vue项目遇到的坑


Posted in Javascript onAugust 30, 2017

前言

使用Vue做管理系统和WebApp做过三四个项目了,期间遇到很多坑,再次一一列举,并给出解决方案,方便日后更方便使用,也为他人提供一些解决方案。

问题表象和解决方案

1、编译后js、css等相对路径和绝对路径。

config/inde.js文件
 build: {
  env: require('./prod.env'),
  index: path.resolve(__dirname, '../dist/index.html'),
  assetsRoot: path.resolve(__dirname, '../dist'),
  assetsSubDirectory: 'static',
  assetsPublicPath: './', // "./"表示相对路径 编译结果 <link href=./static/css/app.518fd3471fd03bfce5524de6e934771c.css rel=stylesheet>
  productionSourceMap: true,
  // Gzip off by default as many popular static hosts such as
  // Surge or Netlify already gzip all static assets for you.
  // Before setting to `true`, make sure to:
  // npm install --save-dev compression-webpack-plugin
  productionGzip: false,
  productionGzipExtensions: ['js', 'css'],
  // Run the build command with an extra argument to
  // View the bundle analyzer report after build finishes:
  // `npm run build --report`
  // Set to `true` or `false` to always turn it on or off
  bundleAnalyzerReport: process.env.npm_config_report
 },

2、CSS中图片相对路径编译后,路径不对。

//同常路径表现为 ./static/img/static/img/*.jpg (定义为imgurl)
解决方案 修改build/untils.js
//替换相应代码
if (options.extract) {
   return ExtractTextPlugin.extract({
    use: loaders,
    publicPath: '../../', //注意: 此处根据路径, 自动更改 ,(imgurl='static/img/*.jpg')
    fallback: 'vue-style-loader'
   })
  } else {
   return ['vue-style-loader'].concat(loaders)
  }

3、使用代理,解决跨域请求。

vue-cli已经集成 http-proxy-middleware插件

github:https://github.com/chimurai/http-proxy-middleware

proxyTable: {
   '/dianmi_service': {
    target: 'https://****.com.cn',
    changeOrigin: true
   },
   '/brand_service': {
    target: 'https://*****.com.cn',
    changeOrigin: true
   }
  },

其中 target的值一定不可以包含工程名,否则可能会出现服务器Session问题

4、用Vue做页面,利用phonegap编译android APP时,兼容问题。

cordova android 4.0 以下的默认webView,不支持ES6,会导致一些列问题。

好在,cordova android允许我们自定义自己的webView引擎。那么我们就想到了 腾讯浏览服务X5内核。

然而有大神基于此内核编写了cordova 插件

githup:https://github.com/offbye/cordova-plugin-x5engine-webview

使用此插件很好的解决 低版本安卓不支持Vue。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery imgareaselect 使用利用js与程序结合实现图片剪切
Jul 30 Javascript
document.getElementById方法在Firefox与IE中的区别
May 18 Javascript
JS限制上传图片大小不使用控件在本地实现
Dec 19 Javascript
javascript日期格式化示例分享
Mar 05 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
Sep 01 Javascript
javascript进行四舍五入方法汇总
Dec 16 Javascript
JavaScript表单焦点自动切换代码
Jul 24 Javascript
JS数组排序方法实例分析
Dec 16 Javascript
详解angular中如何监控dom渲染完毕
Jan 03 Javascript
基于复选框demo(分享)
Sep 27 Javascript
Vue Element校验validate的实例
Sep 21 Javascript
jQuery实现本地存储
Dec 22 jQuery
前端开发不得不知的10个最佳ES6特性
Aug 30 #Javascript
vue.js的手脚架vue-cli项目搭建的步骤
Aug 30 #Javascript
for循环 + setTimeout 结合一些示例(前端面试题)
Aug 30 #Javascript
详解使用nvm管理多版本node的方法
Aug 30 #Javascript
jquery插件开发之选项卡制作详解
Aug 30 #jQuery
浅谈angular.js跨域post解决方案
Aug 30 #Javascript
详解a++和++a的区别
Aug 30 #Javascript
You might like
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
巧妙破除网页右键禁用的十大绝招
2006/08/12 Javascript
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
JS中的==运算: [''] == false —&gt;true
2016/07/24 Javascript
JavaScript 中有关数组对象的方法(详解)
2016/08/15 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
jquery easyui validatebox remote的使用详解
2016/11/09 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
2017/04/13 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
jQuery常见的遍历DOM操作详解
2018/09/05 jQuery
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
python中from module import * 的一个坑
2014/07/20 Python
Django框架下在URLconf中指定视图缓存的方法
2015/07/23 Python
使用python实现省市三级菜单效果
2016/01/20 Python
Python和C/C++交互的几种方法总结
2017/05/11 Python
Python实现压缩文件夹与解压缩zip文件的方法
2018/09/01 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
树莓派4B安装Tensorflow的方法步骤
2020/07/16 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
HTML5的新特性(1)
2016/03/03 HTML / CSS
私有程序集与共享程序集有什么区别
2013/04/05 面试题
params有什么用
2016/03/01 面试题
化妆品活动策划方案
2014/05/23 职场文书
中国梦演讲稿开场白
2014/08/28 职场文书
投标承诺函范文
2015/01/21 职场文书
小学生心理健康活动总结
2015/05/08 职场文书