Javascript 如何在即时js中更改名称空间?
我正在尝试更改js的名称空间。脚本包装了Javascript 如何在即时js中更改名称空间?,javascript,bower,momentjs,Javascript,Bower,Momentjs,我正在尝试更改js的名称空间。脚本包装了(函数(未定义){…})我可以在调用中传递名称空间,但这会破坏bower更新兼容性(bower会覆盖我的更改,我可能会忘记保持文件同步)。你能提出替代方案吗 文档建议使用require.js传递配置选项。这是我必须加载的附加脚本。除了require.js,还有其他选择吗 矩js有一个makeGlobal函数: function makeGlobal(shouldDeprecate) { /*global ender:false */ if
(函数(未定义){…})代码>我可以在调用中传递名称空间,但这会破坏bower更新兼容性(bower会覆盖我的更改,我可能会忘记保持文件同步)。你能提出替代方案吗
文档建议使用require.js传递配置选项。这是我必须加载的附加脚本。除了require.js,还有其他选择吗
矩js有一个makeGlobal函数:
function makeGlobal(shouldDeprecate) {
/*global ender:false */
if (typeof ender !== 'undefined') {
return;
}
oldGlobalMoment = globalScope.moment;
if (shouldDeprecate) {
globalScope.moment = deprecate(
'Accessing Moment through the global scope is ' +
'deprecated, and will be removed in an upcoming ' +
'release.',
moment);
} else {
globalScope.cplex = {};
globalScope.cplex.moment = moment;
}
}
我将js与make结合并缩小。一个不理想的解决方案:
//moment-init.js
var ender = undefined;
if(typeof moment !== 'undefined'){
var existingMomentJs = moment;
}
//load moment script
//moment-overrider.js
//updating namespace for moment js - abc namespace
var abc = {};
var ender = undefined;
abc.moment = moment;
if(typeof existingMomentJs !== 'undefined'){
moment = existingMomentJs;
}
你为什么要这么做?我们有一个第三方广告部门,它凌驾于全球时刻之上。我们无法控制它。不带iframe的Ad单元负载