Я пишу стороннее приложение JS с использованием requireJS и хочу, чтобы глобальное пространство имен было чистым от всего, кроме единого объекта глобального интерфейса, который будет создан моим приложением. У меня не было никаких проблем с этим, за исключением requireJS.
В качестве опции для оптимизатора можно включить в сборку require.js и определить пространство имен , чтобы оптимизатор охватил все ссылки, чтобы требовать функции для этого пространства имен.
например. require (...) становится my_scope.require (...)
Проблема в том, что этот объект глобального пространства имен не будет существовать, пока он не будет создан в приложении. Оптимизатор гарантирует, что requireJS загружает и выполняет перед любым загружаемым кодом, поэтому, когда приходит время для выполнения функции require (например, require или define), выдается исключение (объект пространства имен не определен).
Кто-нибудь успешно сделал это без ручного изменения встроенного скрипта или запуска другого скрипта отдельно от встроенного скрипта и до него? Другими словами, есть ли правильный способ достичь этого?