SystemJS와 같은 모듈 로더를 사용할 때 Safari의 Web Inspector에서 디버깅


121

, 및 모듈 로더를 Ionic사용하여 앱을 만들고 있습니다. 이것은 내 설정입니다.es6 modulesTypeScriptSystemJS

tsconfig.json :

{
  "compilerOptions": {
    ...
    "target": "es5",
    "module": "system",
    ...
  }
}

index.html :

<script src="lib/system.js"></script>
<script src="systemjs.config.js"></script>
<script>System.import('js/app.js')</script>

예제 스크립트 (TypeScript) :

import {IConfig} from "./app-config";

export class ConfigLoader {
    ...
}

모든 것이 Chrome에서 훌륭하게 실행됩니다. 그러나 Safari의 Web Inspector를 사용하여 디버깅 할 때 Web Inspector는 HTML에서 직접로드 된 스크립트 (스크립트 태그를 통해) 만 표시하고 XHR (내 경우에는 SystemJS)에서로드 한 스크립트 만 표시하기 때문에 스크립트에 중단 점을 배치 할 수 없습니다. . 이것은 당연히 받아 들일 수없는 내 스크립트를 디버깅 할 수 없음을 의미합니다.

이전과 같이 SystemJS를 사용하여이 문제를 해결하려고 시도했지만 다음과 같이 html에 스크립트 태그를 배치했습니다.

<script src="lib/system.js"></script>
<script src="systemjs.config.js"></script>
<script src="js/app-config.js"></script>
 ... other app scripts
<script>System.import('js/app.js')</script>

그러나 SystemJS가 이것에 대해 만족하지 않기 때문에 이것은 작동하지 않습니다.

System.register 호출이 잘못되었습니다. 익명의 System.register 호출은 스크립트 태그가 아닌 SystemJS.import에 의해로드 된 모듈에 의해서만 가능합니다.

SystemJS를 어떻게 사용하고 동시에 Safari에서 디버깅 할 수 있습니까? '각 스크립트에 디버거 문을 넣는 것'보다 조금 더 정교한 솔루션을 찾고 있습니다.


4
이것은 이상한 조언처럼 보일 수 있으며 1 월 11 일부터 질문이 열려 있기 때문에 웹팩에 뛰어 들도록 조언하고 싶습니다. 나는 SystemJS를 읽고 있었지만 그것이 당신의 필요를 충족시킬 것이라는 느낌을 얻지 못했습니다.
DevNebulae

운이 좋지 않은 것처럼 html로 스크립트를로드 할 수없는 것 같습니다. 크롬은 당신이 본 것처럼 이것을 지원하는 유일한 브라우저 인 것 같습니다.
The Muffin Man


3
사용 debuggerJS 키워드
카밀 Kiełczewski에게

1
KamilKiełczewski @ 문제는 명시 적으로 '...'각 스크립트 디버거 문을 넣어 '나보다 조금 더 정교한 솔루션을 찾고 있어요'상태
fikkatra

답변:


1

글쎄, 아마도 WebStorm 과 같은 IDE를 강력한 웹 및 노드 용 디버거와 함께 사용할 수 있습니다 .

예 :

여기에 이미지 설명 입력 여기에 이미지 설명 입력 여기에 이미지 설명 입력

여기에서 WebStorm 디버거에 대한 자세한 내용을 볼 수 있습니다 .

WebStorm의 몇 가지 대안 :

  1. 아톰 (무료)
  2. Intellij IDEA (커뮤니티 : 무료)
  3. Visual Studio Code (무료)
  4. ...

추신 : WebStorm : D로 Ionic 및 React 앱을 개발합니다.


1
Webstorm에 들어 가려고 노력했지만 VS Code에 확장 시스템이 제공하는 유용한 기능이 너무 많아 Webstorm에는없는 기능이 너무 많아 점프하기가 어렵습니다.
Stephen M Irving


-4

js 파일 키워드에 쓰고 탐색기로 debugger열기inspect element

페이지를 새로 고침하고 모드를 디버깅 할 때 ...

그것을 즐기십시오 ;-)


3
질문에는 " '각 스크립트에 디버거 문을 넣는 것'보다 조금 더 정교한 솔루션을 찾고 있습니다 ..."라고
명시되어 있습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.