详解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 相关文章推荐
js实现收缩菜单效果实例代码
Oct 30 Javascript
javascript制作的网页侧边弹出框思路及实现代码
May 21 Javascript
js实现TAB切换对应不同颜色的代码
Aug 31 Javascript
浅谈javascript函数式编程
Sep 06 Javascript
js数组去重的5种算法实现
Nov 04 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
Jan 11 Javascript
jQuery插件扩展操作入门示例
Jan 16 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
Apr 21 Javascript
jQuery UI实现动画效果代码分享
Aug 19 jQuery
swiper.js插件实现pc端文本上下滑动功能示例
Dec 03 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
Feb 10 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
Nov 17 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
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
php实现通过cookie换肤的方法
2015/07/13 PHP
django中的ajax组件教程详解
2018/10/18 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
用js怎么把&amp;字符换成&quot;&amp;amp:&quot;
2006/10/19 Javascript
div移动 输入框不能输入的问题
2009/11/19 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
JavaScript 原型学习总结
2010/10/29 Javascript
Jquery中获取iframe的代码
2011/01/11 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
使用JS获取SessionStorage的值
2018/01/12 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
Vue.js获取被选择的option的value和text值方法
2018/08/24 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
聊聊vue 中的v-on参数问题
2021/01/29 Vue.js
学习python (2)
2006/10/31 Python
Python实现的tab文件操作类分享
2014/11/20 Python
在Python的Django框架中实现Hacker News的一些功能
2015/04/17 Python
在Python中使用dict和set方法的教程
2015/04/27 Python
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
Python3.x对JSON的一些操作示例
2017/09/01 Python
python实现xlsx文件分析详解
2018/01/02 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
HTML5 Canvas概述
2009/08/26 HTML / CSS
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
给幼儿园老师的表扬信
2014/01/19 职场文书
移风易俗倡议书
2014/04/15 职场文书
公司总经理岗位职责范本
2014/08/15 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
如何用Navicat操作MySQL
2021/05/12 MySQL
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang