详解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 相关文章推荐
jqPlot jquery的页面图表绘制工具
Jul 25 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
Mar 04 Javascript
ie8本地图片上传预览示例代码
Jan 12 Javascript
javascript实现简单的二级联动
Mar 19 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
Jun 01 Javascript
node.js require() 源码解读
Dec 13 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
Nov 21 Javascript
iscroll.js滚动加载实例详解
Jul 18 Javascript
微信小程序上传图片到服务器实例代码
Nov 07 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
Feb 03 Javascript
js中split()方法得到的数组长度问题
Jul 19 Javascript
通过微信公众平台获取公众号文章的方法示例
Dec 25 Javascript
前端开发不得不知的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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
Linux环境下php实现给网站截图的方法
2016/05/03 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
js中查找最近的共有祖先元素的实现代码
2010/12/30 Javascript
使用jquery实现div的tab切换实例代码
2013/05/27 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
jQuery中next方法用法实例
2015/04/24 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
微信小程序自定义导航栏
2018/12/31 Javascript
学习RxJS之JavaScript框架Cycle.js
2019/06/17 Javascript
JavaScript读取本地文件常用方法流程解析
2020/10/12 Javascript
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
TensorFlow深度学习之卷积神经网络CNN
2018/03/09 Python
python脚本实现验证码识别
2018/06/07 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
Python和Go语言的区别总结
2019/02/20 Python
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
英语感恩演讲稿
2014/01/14 职场文书
国际金融专业自荐信
2014/07/05 职场文书
2016道德模范先进事迹材料
2016/02/26 职场文书
2016最新离婚协议书范本及程序
2016/03/18 职场文书
检讨书怎么写?
2019/06/21 职场文书
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL