Как найти, где функция, которая объявлена не на верхнем уровне или сразу внутри другой функции?
У меня есть работающее веб-приложение, использующее require.js, и я пытаюсь, чтобы все файлы были уменьшены и объединены. Я использую grunt-contrib-requirejs для компиляции всего проекта в файл bundle.js, например так:
requirejs: {
compile: {
options: {
baseUrl: "public/",
mainConfigFile: "config.js",
name: "start",
out: "public/bundle.js",
preserveLicenseComments: false,
}
}
}
Теперь я изменил свой index.html так, чтобы он вызывал пакет, а не разделенную точку входа start.js:
заменены: <script data-main="start" src="require.js"></script>
с: <script data-main="../bundle.js" src="require.js"></script>
Компиляция, кажется, идет хорошо, и bundle.js действительно найден, но я получаю эту ошибку:
Uncaught SyntaxError:../bundle.js: в коде строгого режима функции могут быть объявлены только на верхнем уровне или непосредственно в другой функции.
Но отладчик Chrome показывает ошибку, как выдается из require.js. Я почти уверен, что в require.js нет ошибки. Как я могу найти, какая часть моего кода вызывает ошибку?
Обновление Это может (или не может) быть связано с этой недавней ошибкой jQuery. Я не могу сказать, потому что, когда я использую неминифицированную версию jquery, я получаю еще одну ошибку ("определение не определено"), приходящую из этой строки: define("jquery", function(){});
, Я тоже не знаю, откуда взялась эта строка, кажется странным заняться...