vue項(xiàng)目打包為APP,靜態(tài)資源正常顯示,但API請(qǐng)求不到數(shù)據(jù)的操作
Vue項(xiàng)目通過(guò)Hbuild打包為APP后,靜態(tài)文件正常顯示,但并沒(méi)有像開(kāi)發(fā)時(shí)那樣請(qǐng)求到數(shù)據(jù)。
這是為什么?因?yàn)锳PP并沒(méi)有跨域,不存在跨域一說(shuō)。
我們?cè)陂_(kāi)發(fā)的時(shí)候,js在不同的域之間進(jìn)行數(shù)據(jù)傳輸或通信,所以會(huì)給項(xiàng)目設(shè)置代理來(lái)跨域
config下的index.js
比如這個(gè)
proxyTable: { ’/api’:{ target: ’http://XXX/xxx/v3’, changeOrigin: true, pathRewrite: { ’^/api’: ’’ } }}
在開(kāi)發(fā)時(shí)這樣做是沒(méi)錯(cuò)的,但我們?cè)诖虬鼤r(shí)就不用設(shè)置這個(gè)跨域了,打包前直接將這個(gè)跨域注釋掉,然后將API請(qǐng)求地址改為絕對(duì)地址。例如這樣
let SwipeImg = () => axios({ // url: ’api/basic/advert/lists’, url: ’http://xxx.xxx.xx.xx/api/v3/basic/advert/lists’, params: { auth_key: key }})
改好之后在通過(guò)Hbuild打包后,APP數(shù)據(jù)就顯示正常了
這里要注意的是,我將打包后的APP放在夜神模擬器里,數(shù)據(jù)顯示還是不正常,但放在自己手機(jī)里就顯示正常,這點(diǎn)要注意
補(bǔ)充知識(shí):vue 項(xiàng)目打包后看不到頁(yè)面內(nèi)容
vue 項(xiàng)目打包命令是:
npm run build
如果打包后打開(kāi)index.html頁(yè)面看不到內(nèi)容,有可能就是路徑不對(duì),需要修改config/index.js文件
如下:
build: { // Template for index.html index: path.resolve(__dirname, ’../dist/index.html’), // Paths assetsRoot: path.resolve(__dirname, ’../dist’), assetsSubDirectory: ’static’, assetsPublicPath: ’./’,//此處為修改的地方,這里加. ..........}
以上這篇vue項(xiàng)目打包為APP,靜態(tài)資源正常顯示,但API請(qǐng)求不到數(shù)據(jù)的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
