详解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的实现简单的表格中增加或删除下一行
Aug 01 Javascript
js中cookie的添加、取值、删除示例代码
Oct 21 Javascript
JavaScript中的toDateString()方法使用详解
Jun 12 Javascript
JS获取数组最大值、最小值及长度的方法
Nov 24 Javascript
分享两款带遮罩的jQuery弹出框
Dec 30 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
Jan 04 Javascript
AngularJs expression详解及简单示例
Sep 01 Javascript
详解用webpack2搭建angular2的项目
Jun 22 Javascript
微信小程序实现换肤功能
Mar 14 Javascript
Vue 3.0双向绑定原理的实现方法
Oct 23 Javascript
vue element 中的table动态渲染实现(动态表头)
Nov 21 Javascript
VUE 实现element upload上传图片到阿里云
Aug 12 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
福利彩票幸运号码自动生成器
2006/10/09 PHP
php中的strpos使用示例
2014/02/27 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
javascript的函数、创建对象、封装、属性和方法、继承
2011/03/10 Javascript
基于jQuery的获取标签名的代码
2012/07/16 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
javascript在子页面中函数无法调试问题解决方法
2014/01/17 Javascript
Jquery简单实现GridView行高亮的方法
2015/06/15 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
JS Canvas定时器模拟动态加载动画
2016/09/17 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
详谈AngularJs 控制器、数据绑定、作用域
2017/07/09 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
pymongo实现控制mongodb中数字字段做加法的方法
2015/03/26 Python
pygame播放音乐的方法
2015/05/19 Python
python实现简单神经网络算法
2018/03/10 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
python用插值法绘制平滑曲线
2021/02/19 Python
Python饼状图的绘制实例
2019/01/15 Python
图文详解python安装Scrapy框架步骤
2019/05/20 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
在 Pycharm 安装使用black的方法详解
2020/04/02 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
校园十佳歌手策划书
2014/01/22 职场文书
部队万能检讨书
2014/02/20 职场文书
机关干部三严三实心得体会
2014/10/13 职场文书
大国崛起英国观后感
2015/06/02 职场文书
Go语言并发编程 sync.Once
2021/10/16 Golang