मैं एक Ionic
एप्लिकेशन लोड कर रहा हूं es6 modules
, TypeScript
और SystemJS
एक मॉड्यूल लोडर के रूप में। यह मेरा सेटअप है:
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>
उदाहरण स्क्रिप्ट (टाइपस्क्रिप्ट):
import {IConfig} from "./app-config";
export class ConfigLoader {
...
}
Chrome में सब कुछ बढ़िया चलता है। हालाँकि, जब सफारी के वेब इंस्पेक्टर का उपयोग करके डीबगिंग करता हूं, तो मैं स्क्रिप्ट में कोई भी ब्रेकपॉइंट नहीं डाल सकता क्योंकि वेब इंस्पेक्टर केवल एचटीएमएल (स्क्रिप्ट टैग के माध्यम से) से भरी हुई स्क्रिप्ट दिखाता है, और एक्सएचआर द्वारा लोड की गई स्क्रिप्ट नहीं (मेरे मामले में, सिस्टमजेएस द्वारा) । इसका मतलब है कि मैं अपनी खुद की स्क्रिप्ट को डीबग नहीं कर सकता, जो कि अस्वीकार्य है।
मैंने पहले की तरह 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 का उपयोग कैसे करूं और उसी समय सफारी में डिबग करने की क्षमता है? मैं 'एक स्क्रिप्ट में एक डिबगर बयान डाल' की तुलना में एक छोटे से अधिक परिष्कृत समाधान की तलाश में हूं ...
debugger
JS कीवर्ड का उपयोग करें