詳解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 插件
githup:https://github.com/offbye/cordova-plugin-x5engine-webview
使用此插件很好的解決 低版本安卓不支持Vue。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用Vue 實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼功能
本文章主要來(lái)介紹一下第一個(gè)階段,也就是前端校驗(yàn)的驗(yàn)證碼的實(shí)現(xiàn),下面來(lái)介紹一下拖動(dòng)驗(yàn)證碼的具體實(shí)現(xiàn)。這篇文章主要介紹了利用 Vue 實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼,需要的朋友可以參考下2019-06-06
vue分片上傳視頻并轉(zhuǎn)換為m3u8文件播放的實(shí)現(xiàn)示例
前端上傳大文件、視頻的時(shí)候會(huì)出現(xiàn)超時(shí)、過(guò)大、很慢等情況,為了解決這一問(wèn)題,跟后端配合做了一個(gè)切片的功能,本文主要介紹了vue分片上傳視頻并轉(zhuǎn)換為m3u8文件播放的實(shí)現(xiàn)示例,感興趣的可以了解一下2023-11-11
vue3圖片剪裁插件vue-img-cutter使用小結(jié)
Vue.js是一款流行的JavaScript前端框架,很受用戶(hù)喜愛(ài),這篇文章主要介紹了vue3圖片剪裁插件vue-img-cutter使用小結(jié),本文結(jié)合示例代碼講解的非常詳細(xì),感興趣的朋友一起看看吧2024-01-01
vue element-ul實(shí)現(xiàn)展開(kāi)和收起功能的實(shí)例代碼
這篇文章主要介紹了vue element-ul實(shí)現(xiàn)展開(kāi)和收起功能的實(shí)例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
vue實(shí)現(xiàn)將自己網(wǎng)站(h5鏈接)分享到微信中形成小卡片的超詳細(xì)教程
在微信小程序中,可以很簡(jiǎn)單的分享一個(gè)頁(yè)面,比微信H5簡(jiǎn)單多了,下面這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)將自己網(wǎng)站(h5鏈接)分享到微信中形成小卡片的超詳細(xì)教程,需要的朋友可以參考下2023-02-02
Vue實(shí)現(xiàn)當(dāng)前頁(yè)面刷新的七種方法總結(jié)
大家在vue項(xiàng)目中當(dāng)刪除或者增加一條記錄的時(shí)候希望當(dāng)前頁(yè)面可以重新刷新,但是vue框架自帶的router是不支持刷新當(dāng)前頁(yè)面功能,所以本文就給大家分享了七種vue實(shí)現(xiàn)當(dāng)前頁(yè)面刷新的方法,需要的朋友可以參考下2023-07-07
基于ElementUI中Table嵌套實(shí)現(xiàn)多選的示例代碼
這篇文章主要介紹了基于ElementUI中Table嵌套實(shí)現(xiàn)多選的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03

