使用闭包编译器缩小包含 Jinja2 表达式的 JavaScript 代码

Minify JavaScript code containing Jinja2 expressions with the Closure Compiler

本文关键字:表达式 JavaScript 代码 Jinja2 包含 闭包 编译器 缩小      更新时间:2023-09-26

我将一个 JSON 编码的字典从 Python 3 传递给 Jinja2 模板,并将其分配给 JavaScript 变量。我的模板如下

<script>
    var a = {{ json_dict }}; // is rendered as `var a = {"key": "value"};`
</script>

这按预期工作,但我想使用闭包编译器缩小包含 Jinja2 表达式的 JavaScript 代码,它目前会引发可预测的错误,例如

JSC_PARSE_ERROR: Parse error. '}' expected at line 2 character 9
var a = {{ json_dict }};

我有哪些选择?

你把它包装在一个评估或等效物中。

a = eval('({{json_dict}})')