vue-cli 構(gòu)建Vue項(xiàng)目遇到的坑

前言

使用Vue做管理系統(tǒng)和WebApp做過(guò)三四個(gè)項(xiàng)目了,期間遇到很多坑,在此一一列舉,并給出解決方案,方便日后使用,也為他人提供一些解決方案。

問(wèn)題表象和解決方案

1、編譯后js、css等相對(duì)路徑和絕對(duì)路徑。
config/inde.js文件
 build: {
    env: require('./prod.env'),
    index: path.resolve(__dirname, '../dist/index.html'),
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static',
    assetsPublicPath: './', // "./"表示相對(duì)路徑 編譯結(jié)果  <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中圖片相對(duì)路徑編譯后,路徑不對(duì)。
//通常路徑表現(xiàn)為 ./static/img/static/img/*.jpg (定義為imgurl)
解決方案 修改build/untils.js
//替換相應(yīng)代碼
if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        publicPath: '../../', //注意: 此處根據(jù)路徑, 自動(dòng)更改 ,(imgurl='static/img/*.jpg')
        fallback: 'vue-style-loader'
      })
    } else {
      return ['vue-style-loader'].concat(loaders)
    }
3、使用代理,解決跨域請(qǐng)求。

vue-cli已經(jīng)集成 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的值一定不可以包含工程名,否則可能會(huì)出現(xiàn)服務(wù)器Session問(wèn)題

4、用Vue做頁(yè)面,利用phonegap編譯android APP時(shí),兼容問(wèn)題。

cordova android 4.0 以下的默認(rèn)webView,不支持ES6,會(huì)導(dǎo)致一系列問(wèn)題。
好在,cordova android允許我們自定義自己的webView引擎。那么我們就想到了 騰訊瀏覽器服務(wù)X5內(nèi)核。
然而有大神基于此內(nèi)核編寫(xiě)了cordova 插件
github:https://github.com/offbye/cordova-plugin-x5engine-webview
使用此插件很好的解決 低版本安卓不支持Vue。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,030評(píng)論 25 709
  • 一 高考催生和繁榮了一系列服務(wù)行業(yè),市區(qū)里奔馳的出租車(chē)、重點(diǎn)高中旁邊的鐘點(diǎn)房、和廚房里的蔬菜生鮮柴米油鹽。我媽?zhuān)?..
    嘰喻閱讀 553評(píng)論 0 0
  • 南瓜車(chē)創(chuàng)始人盧鑫很喜歡李善友的一句話是:阻礙你成功的不是能力,而是認(rèn)知盲區(qū)。當(dāng)很多人窮盡一生求知識(shí),她說(shuō)“我其實(shí)想...
    藍(lán)天易行閱讀 1,053評(píng)論 0 1
  • 記得大學(xué)的時(shí)候,舍友最喜歡調(diào)侃的話題莫過(guò)于我寫(xiě)在墻上的計(jì)劃。從小到大,我都是一個(gè)愛(ài)寫(xiě)計(jì)劃的人。至于計(jì)劃實(shí)施了多少,...
    Lyn小恩閱讀 441評(píng)論 0 0
  • 這個(gè)讀書(shū)隨談每篇介紹自己看過(guò)的10本書(shū),估摸著會(huì)成為一個(gè)系列,且聽(tīng)我慢慢道來(lái)。上一篇主要講解的是.NET方面的書(shū)籍...
    DotNet技術(shù)分享閱讀 347評(píng)論 0 6

友情鏈接更多精彩內(nèi)容