TLDR:
Если вы используете Webpack, добавьте это в правила вашего модуля:
module: {
rules: [
{ parser: { amd: false } }
// ... your other rules
]
}
или, если вы не используете веб-пакет, убедитесь, что ваши собственные переменные не попадают в глобальную область видимости, потому что Adobe есть, а ваши могут перезаписать их или наоборот.
Объяснение, которое может быть применимо, даже если вы не используете веб-пакет, которое может привести вас в правильном направлении:
Клиентские библиотеки Adobe (такие как guide.js, guideRuntime и т. П.) Не особенно хороши для внедрения зависимостей. Их код сильно пропускает глобальные переменные. Например (см. Рисунок ниже) они часто используют подчеркивание _.each. если вы используете lodash, сигнатуры функций различны - подчеркивание 'позволяет вам определять контекст "this" в качестве третьего параметра, тогда как lodash - нет.
Итак, в нашем случае наш lodash перезаписывал их нижнее подчеркивание, вызывая кучу странных проблем ... ДАЖЕ, КОГДА мы нигде не объявляли lodash глобально. WEBPACK БЫЛ определяющим во всем мире lodash
Итак, мораль этой истории, откройте консоль, проверьте, не определены ли какие-либо из ваших библиотек глобально, и, если они есть, выясните, как сделать их не глобальными, пока Adobe не решит исправить свои вещи (не держите ваше дыхание).