Переменные шаблона Django в файл Javascript

В настоящее время я настроил свой проект Django таким образом, что JS переменные, которые зависят от переменных шаблона, сначала определяются в теге script в шаблоне HTML. Затем, когда шаблон запускается, JS переменная создается и добавляется в контекст Javascript, в результате чего другие внешние JS скрипты могут использовать эту переменную без объявления ее где-либо.

Html шаблон:

<body>
   content
</body>

<script>
   const var = "{{ my_template_var }}";
</script>
<script type="module" src="{% url 'app_name/index.js' %}"></script>

JS Script (app_name/index.js)

console.log(var)       // Prints value of "my_template_var" in the form of a string

Однако мне не нравится тот факт, что переменная var в JS-скрипте просто "волшебным образом" имеет значение, определенное в шаблоне, когда он запускается (нет никакого фактического заявления, говорящего const var = something). Могу ли я как-то включить объявление в JS-файл (не комментарий), чтобы остальным разработчикам было немного понятнее, откуда берется переменная?

(ПРИМЕЧАНИЕ: я делаю это в основном потому, что при использовании Typescript эти переменные отображаются как неопределенные, хотя они получают значение откуда-то)

Лучший способ, который я нашел, это использование оператора declare в файле Typescript. Таким образом, переменные, которые получили свое значение из другого тега сценария:

<!-- Index.html -->
<script>
   variable = 5
</script>

<script type="text/javascript" src="script.js"></script>

Я могу просто сделать:

// script.ts that compiles into script.js
declare const variable: type;
Вернуться на верх