vue 프로젝트가 APP로 패키지되어 정적 자원이 정상적으로 표시되지만 API가 데이터를 요청하지 않습니다.

Vue 프로젝트는 Hbuild를 통해 APP로 포장된 후 정적 파일이 정상적으로 표시되지만 개발 때처럼 데이터를 요청하지 않습니다.
왜 이러지?APP는 도메인이 없기 때문에 도메인이 존재하지 않습니다.
우리가 개발할 때 js는 서로 다른 영역 사이에서 데이터 전송이나 통신을 하기 때문에 프로젝트에 에이전트를 설정하여 영역을 뛰어넘는다
config 아래의 index.js
예컨대 이것

proxyTable: {
 '/api':{
  target: 'http://XXX/xxx/v3',
  changeOrigin: true,
  pathRewrite: {
   '^/api': ''
  }
 }
}
개발할 때 이렇게 하는 것은 옳지만, 우리는 포장할 때 이 크로스 필드를 설정할 필요가 없다. 포장하기 전에 이 크로스 필드를 직접 주석한 다음에 API 요청 주소를 절대 주소로 변경한다.예를 들면 이렇다

let SwipeImg = () => axios({
 // url: 'api/basic/advert/lists',
 url: 'http://xxx.xxx.xx.xx/api/v3/basic/advert/lists',
 params: {
  auth_key: key
 }
})
고친 후 Hbuild를 통해 포장하면 앱 데이터가 정상적으로 표시됩니다.
여기서 주의해야 할 것은 내가 포장한 앱을 야신 시뮬레이터에 넣었는데 데이터가 정상적이지 않지만 자신의 휴대전화에 넣으면 정상이라는 점을 주의해야 한다는 것이다
추가 지식: vue 프로젝트 패키지 후 페이지 내용이 보이지 않음
vue 프로젝트 패키지 명령은 다음과 같습니다.
npm run build
포장해서 index를 열면html 페이지에 내용이 보이지 않습니다. 경로가 틀렸을 수도 있습니다. 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 프로젝트는 APP로 포장되어 정적 자원이 정상적으로 표시되지만 API가 데이터를 요청하지 않는 조작은 바로 편집자가 여러분에게 공유한 모든 내용입니다. 여러분께 참고가 되고 저희를 많이 사랑해 주시기 바랍니다.

좋은 웹페이지 즐겨찾기