我正在使用requireJS编写第三方JS应用程序,我希望保持全局命名空间清除除了将由我的应用程序创建的单个全局接口对象之外的所有内容.除了requireJS之外,我没有遇到任何问题.
作为优化器的一个选项,可以将require.js滚动到构建中,并且可以定义名称空间,使优化器作用域的所有引用都需要函数到该名称空间.
例如.require(...)成为my_scope.require(...)
问题是这个全局命名空间对象在应用程序中创建之前不会存在.优化器确保requireJS在它加载的任何代码之前加载和执行,因此当需要执行require函数时(如require或define),抛出异常(未定义名称空间对象).
有没有人成功地实现了这一点,而无需手动更改构建的脚本或在构建的脚本之前和之前运行另一个脚本?换句话说,有没有一种正确的方法来实现这一目标?