Столкнулся с ошибкой минимизации библиотеки qTip2 с помощью Microsoft Ajax JS-minifier:
Во время минимизации JS-кода, считанного из файла "/Scripts/jquery.qtip.js", с помощью Microsoft Ajax JS-minifier произошла синтаксическая ошибка!
Смотрите более подробную информацию об ошибке:
Сообщение об ошибке: Strict-mode does not allow assignment to undefined variables: i
Код ошибки: JS1300
Серьезность: 0
Подкатегория: run-time
Файл: /Scripts/jquery.qtip.js
Начальная строка: 3169
Начальный символ: 21
Конечная строка: 3169
Конечный символ: 22
В этом месте вот такой вот код:
```
for(result = [], i = -1, len = points.numberOfItems || points.length; ++i < len;) {
next = points.getItem ? points.getItem(i) : points[i];
result.push.apply(result, PLUGINS.svg.toPixel(elem, next.x, next.y));
}
```
Понимаю, что надо разработчиков просить исправить проблему в этом, и еще в куче других мест, но, почитал про Strict-mode и решил его отключить. Добавил в секцию bundleTransformer такой код:
```
<microsoftAjax>
<js strictMode="false"/>
</microsoftAjax>
```
Но, ничего не поменялось, ошибка недает запустить проект. Если пока оставить разработчиков qTip2 в покое, то хотел бы понять, что я не так делаю
Comments: В сообщении об ошибке написано, что ошибка синтаксическая, а значит эта ошибка произошла в минимизаторе, т.е. в Microsoft Ajax Minifier (BundleTransformer.MicrosoftAjax – это просто набор адаптеров). Еще раз повторю свою любимую фразу: «Не каждый файл можно сжать с помощью минимизатора.» Мне кажется, что ошибка заключается в том, что переменная i объявлена без директивы var. Если Вы еще не читали книгу Дугласа Крокфорда «JavaScript: The Good Parts», то настоятельно рекомендую ее прочитать, т.к. там разбираются некоторые тонкости языка, которые могут приводить к таким непонятным ошибкам. Краткую выжимку из Крокфорда можно посмотреть в видео-докладе Андрея Кулешова [«JavaScript: хороший тон клиентской разработки»](http://getdev.net/Event/javascript-good-form). По поводу багтрекера: лучше конечно о таких сомнительных ошибках писать в дискуссии, потому что в данный момент багтрекер просто забит псевдо-багами, которые вызваны непониманием синтаксиса LESS. У дискуссий есть лишь один минус – оповещения о них приходят ко мне только раз в день.
Во время минимизации JS-кода, считанного из файла "/Scripts/jquery.qtip.js", с помощью Microsoft Ajax JS-minifier произошла синтаксическая ошибка!
Смотрите более подробную информацию об ошибке:
Сообщение об ошибке: Strict-mode does not allow assignment to undefined variables: i
Код ошибки: JS1300
Серьезность: 0
Подкатегория: run-time
Файл: /Scripts/jquery.qtip.js
Начальная строка: 3169
Начальный символ: 21
Конечная строка: 3169
Конечный символ: 22
В этом месте вот такой вот код:
```
for(result = [], i = -1, len = points.numberOfItems || points.length; ++i < len;) {
next = points.getItem ? points.getItem(i) : points[i];
result.push.apply(result, PLUGINS.svg.toPixel(elem, next.x, next.y));
}
```
Понимаю, что надо разработчиков просить исправить проблему в этом, и еще в куче других мест, но, почитал про Strict-mode и решил его отключить. Добавил в секцию bundleTransformer такой код:
```
<microsoftAjax>
<js strictMode="false"/>
</microsoftAjax>
```
Но, ничего не поменялось, ошибка недает запустить проект. Если пока оставить разработчиков qTip2 в покое, то хотел бы понять, что я не так делаю
Comments: В сообщении об ошибке написано, что ошибка синтаксическая, а значит эта ошибка произошла в минимизаторе, т.е. в Microsoft Ajax Minifier (BundleTransformer.MicrosoftAjax – это просто набор адаптеров). Еще раз повторю свою любимую фразу: «Не каждый файл можно сжать с помощью минимизатора.» Мне кажется, что ошибка заключается в том, что переменная i объявлена без директивы var. Если Вы еще не читали книгу Дугласа Крокфорда «JavaScript: The Good Parts», то настоятельно рекомендую ее прочитать, т.к. там разбираются некоторые тонкости языка, которые могут приводить к таким непонятным ошибкам. Краткую выжимку из Крокфорда можно посмотреть в видео-докладе Андрея Кулешова [«JavaScript: хороший тон клиентской разработки»](http://getdev.net/Event/javascript-good-form). По поводу багтрекера: лучше конечно о таких сомнительных ошибках писать в дискуссии, потому что в данный момент багтрекер просто забит псевдо-багами, которые вызваны непониманием синтаксиса LESS. У дискуссий есть лишь один минус – оповещения о них приходят ко мне только раз в день.