详解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 相关文章推荐
JavaScript操作XML 使用百度RSS作为新闻源示例
Feb 17 Javascript
Javascript基础 函数“重载” 详细介绍
Oct 25 Javascript
js图片向右一张张滚动效果实例代码
Nov 23 Javascript
Node.js模块加载详解
Aug 16 Javascript
JavaScript 基本概念
Jan 20 Javascript
jquery中change()用法实例分析
Feb 06 Javascript
Bootstrap中的Panel和Table全面解析
Jun 13 Javascript
AngularJS ng-mousedown 指令
Aug 02 Javascript
javascript如何创建对象
Aug 29 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
Dec 27 Javascript
Angular使用操作事件指令ng-click传多个参数示例
Mar 27 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
Jun 05 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
《星际争霸II》全新指挥官斯台特曼现已上线
2020/03/08 星际争霸
使用php+Ajax实现唯一校验实现代码[简单应用]
2011/11/29 PHP
360通用php防护代码(使用操作详解)
2013/06/18 PHP
php CI框架插入一条或多条sql记录示例
2014/07/29 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
完美解决thinkphp唯一索引重复时出错的问题
2017/03/31 PHP
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
2013/03/25 Javascript
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
SVG实现时钟效果
2018/07/17 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
基于vue--key值的特殊用处详解
2020/07/31 Javascript
vue3.0 上手体验
2020/09/21 Javascript
微信小程序实现音乐播放页面布局
2020/12/11 Javascript
[01:38]完美世界DOTA2联赛(PWL)宣传片:第一站
2020/10/26 DOTA
python 拷贝特定后缀名文件,并保留原始目录结构的实例
2018/04/27 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
python中pathlib模块的基本用法与总结
2020/08/17 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
Kiehl’s科颜氏西班牙官方网站:源自美国的植物护肤品牌
2020/02/22 全球购物
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
UNIX文件系统分类
2014/11/11 面试题
Servlet都有哪些方法?主要作用是什么?
2014/03/04 面试题
校园歌咏比赛主持词
2014/03/18 职场文书
村容村貌整治方案
2014/05/21 职场文书
计生工作先进事迹
2014/08/15 职场文书
运动会主持人开幕词
2016/03/04 职场文书