Я использую Parcel JS в качестве сборщика модулей, и по некоторым причинам я использую переменные JS в HTML, которые позже будут считаны кодом JS.
В моем HTML:
<script>
var myVar = {
key1: 'value1',
key2: 'value2'
};
</script>
В моем JS:
console.log(window.myVar.key1);
Когда я создаю сайт stati c с parcel build
, переменная JS в HTML переименовывается, поэтому я больше не могу читать его из файла JS:
<script>var a = { key1: 'value1', key2: 'value2' };</script>
Согласно документам Parcel , похоже, что переименование (искажение) сделано htmlnano , который использует Terser под капотом для JS минификации.
Я пробовал использовать файл .htmlnanorc
со следующим содержимым:
{
"minifyJs": {
"mangle": false
},
"removeComments": false
}
Я добавил опцию removeComments
только для того, чтобы убедиться, что файл .htmlnanorc
обрабатывается. HTML комментарии сохранены, так и есть.
Но переменная JS продолжает переименовываться, хотя я пробовал несколько конфигураций Terser в соответствии с их документами. Так что похоже, что htmlnano игнорирует любые конфигурации под ключом minifyJs
.
Я что-то делаю не так? Или это может быть какая-то ошибка Parcel JS или htmlnano?