2017-09-08 11 views
1

salesforce에서 typescript 반응 형 앱을 개발 중이며 약간의 독창적 인 워크 플로우 유스 케이스가 있습니다. 앱을 변경할 때마다 배포 부담을 덜어주기 위해 Salesforce 페이지 (webpack-dev-server에서 제공)에서 로컬 호스트의 js 번들을로드하는 스위치가 있습니다.HMR에 원격 서버의 리소스를 사용할 수 있습니까?

없이 VisualForce

<apex:outputPanel layout="none" rendered="{!$CurrentPage.parameters.local == '1'}"> 
    <script src="https://localhost:8080/bundle.js" /> 
</apex:outputPanel> 

이 잘 작동하지만, 나뿐만 아니라 HMR을 활용할 수 있다면 정말 멋진 것입니다. 이것이 가능한가?

HMR이 로컬 리소스에서 작동하지만 Salesforce에서 작동하지 않는 것 같습니다. 당신이이 개 파일을 요청 HMR

답변

1

:

  • something.hot-reload.json
  • 및 something.hot - reload.js이 두 파일을 얻을 수없는 경우

실패합니다. 이 파일을 요청할 때 네트워크 탭에 404가 없는지 확인하십시오.

또 다른 문제는 원격 서버에서 파일을 가져와야하는 경우 해당 서버가 동일한 도메인에 있지 않으므로 CORS가 시작된다는 것입니다. CORS 헤더를 응답에 추가하지 않으면 서버에 연결하면 요청이 실패합니다.

또는 CORS는 브라우저에서만 실행되므로 webpack-dev-server에서 프록시를 사용하여 필요에 따라 이러한 파일에 대한 요청을 프록시 처리 할 수 ​​있습니다. https://webpack.js.org/configuration/dev-server/#devserver-proxy을 참조하십시오.

+0

그래서 CORS 문제를 해결할 수있을 것이라고 생각하지만, 'something.hot-reload.json'과'something.hot-reload.js'라고 생각합니다. URL의 'something'이 원격 서버를 가리키고 있지만 localhost를 가리켜 야한다고 생각하십니까? 어쨌든 이것을 구성 할 수 있습니까? – NSjonas

+0

.json 및 .js 파일이 제공되는 위치를 찾으십시오. 예를 들어 브라우저에서 http : //localhost/i/think/they/are/here/hot-reload.json으로 이동하십시오. JSON 파일이 나타납니다. - 이제 알았으니 ... 다음 단계는 ... – danday74

+0

은 요청을 올바른 장소로 이동시키는 것입니다. 답변은 공개 경로 설정이라고 생각합니다. - https://webpack.js.org/ configuration/dev-server/# devserver-publicpath - 또는 요청이 현재 hot-reload.json에 대한 프록시 요청을 로컬 호스트에 보내고있는 곳에서 프록시를 설정할 수 있습니다 (이것은 쉽지 않을 수 있습니다. 가능했기 때문에 diff 포트에서 localhost로 실행 중이었습니다) – danday74