詳解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)核編寫了cordova 插件
githup:https://github.com/offbye/cordova-plugin-x5engine-webview
使用此插件很好的解決 低版本安卓不支持Vue。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue中的路由傳值與重調(diào)本路由改變參數(shù)
這篇文章主要介紹了vue中的路由傳值與重調(diào)本路由改變參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09vue踩坑記之npm?install報(bào)錯(cuò)問(wèn)題解決總結(jié)
當(dāng)你跑起一個(gè)項(xiàng)目的時(shí)候,第一步需要先安裝依賴npm install,下面這篇文章主要給大家介紹了關(guān)于vue踩坑之npm?install報(bào)錯(cuò)問(wèn)題解決的相關(guān)資料,需要的朋友可以參考下2022-06-06mpvue將vue項(xiàng)目轉(zhuǎn)換為小程序
這篇文章主要介紹了mpvue將vue項(xiàng)目轉(zhuǎn)換為小程序的相關(guān)資料及mpvue開(kāi)發(fā)流程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09詳解Vue開(kāi)發(fā)微信H5微信分享簽名失敗問(wèn)題解決方案
這篇文章主要介紹了詳解Vue開(kāi)發(fā)微信H5微信分享簽名失敗問(wèn)題解決方案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08uniapp使用v-loading并且不引入element-ui的操作方法
這篇文章主要介紹了uniapp使用v-loading并且不引入element-ui,首先創(chuàng)建loading.js,創(chuàng)建lloading.scss,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10Vue頁(yè)面刷新記住頁(yè)面狀態(tài)的實(shí)現(xiàn)
這篇文章主要介紹了Vue頁(yè)面刷新記住頁(yè)面狀態(tài)的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-12-12