Я створюю 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>
приклад сценарію (TypeScript):
import {IConfig} from "./app-config";
export class ConfigLoader {
...
}
У Chrome все працює чудово. Однак при налагодженні за допомогою веб-інспектора Safari я не можу розміщувати жодних точок перериву у скриптах, оскільки 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? Я шукаю рішення дещо складніше, ніж "ставити заяву про налагодження у кожен сценарій" ...
debugger
ключове слово JS