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

前言

使用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 插件
github:https://github.com/offbye/cordova-plugin-x5engine-webview
使用此插件很好的解决 低版本安卓不支持Vue。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,806评论 25 708
  • 一 高考催生和繁荣了一系列服务行业,市区里奔驰的出租车、重点高中旁边的钟点房、和厨房里的蔬菜生鲜柴米油盐。我妈,一...
    叽喻阅读 569评论 0 0
  • 南瓜车创始人卢鑫很喜欢李善友的一句话是:阻碍你成功的不是能力,而是认知盲区。当很多人穷尽一生求知识,她说“我其实想...
    蓝天易行阅读 1,064评论 0 1
  • 记得大学的时候,舍友最喜欢调侃的话题莫过于我写在墙上的计划。从小到大,我都是一个爱写计划的人。至于计划实施了多少,...
    Lyn小恩阅读 452评论 0 0
  • 这个读书随谈每篇介绍自己看过的10本书,估摸着会成为一个系列,且听我慢慢道来。上一篇主要讲解的是.NET方面的书籍...
    DotNet技术分享阅读 363评论 0 6

友情链接更多精彩内容