The project I am working on uses requireJS. Works very well, when we want to build it, we use:
({
// ..
namespace: 'projectCodeName',
// ..
});
But I sometimes need to load another library that also uses requireJS, but doesn't namespace it :(
).
I production, I don't have any issue, since my own requirejs
is accessible on window.projectCodeName.require()
.
But in dev, nothing works as expected.
I found I can build requireJS without uglyfying, but still, it is a pity to loose file match, line numbers etc.
Can I use requireJS in development mode with a namespace. Something like:
<script data-namespace="projectCodeName" src="bower_components/requirejs/require.js"></script>
Cheers
EDIT:
I tried to do this manually like:
window.projectCodeName = window.projectCodeName || {};
window.projectCodeName.require = window.require;
window.projectCodeName.requirejs = window.requirejs;
window.projectCodeName.define = window.define;
delete require;
delete requirejs;
delete define;
Unfortunately the latter delete require
doesn't work, it returns false, meaning this is a non-configurable property.
I thought requirejs was really good at avoiding global namespace issues, but instead it keeps bringing trouble. It is really annoying and disappointing.