Javascript 闭包-库未正确加载
我的开发环境中有一个运行良好的闭包环境。但是,在新文件夹和文件中,它不起作用 例如,以以下测试脚本为例:Javascript 闭包-库未正确加载,javascript,loading,require,google-closure,Javascript,Loading,Require,Google Closure,我的开发环境中有一个运行良好的闭包环境。但是,在新文件夹和文件中,它不起作用 例如,以以下测试脚本为例: goog.require('goog.dom'); console.log(goog); console.log(goog.dom); goog.dom.getElement('logout').innerHTML = "Heck"; 就这些,再加上HTML中的base.js 第一个console.log显示一个包含所有正确内容的对象。所有文件也被加载到DOM中 但是,第二个控制台日志显示
goog.require('goog.dom');
console.log(goog);
console.log(goog.dom);
goog.dom.getElement('logout').innerHTML = "Heck";
就这些,再加上HTML中的base.js
第一个console.log
显示一个包含所有正确内容的对象。所有文件也被加载到DOM中
但是,第二个控制台日志显示未定义
,因此最后一行显然不起作用。Chrome控制台错误是未捕获的TypeError:无法调用未定义的方法“getElement”
到底发生了什么事?如果我尝试XhrIo
,也是一样的。它没有在goog
对象上找到方法
谢谢。
注意:不要将goog.require()语句放在同一个脚本标记中
作为使用goog.required函数或
上课。调用goog.require()会在
包含调用的脚本标记
所以
或
goog.require('goog.dom');
addEventListener('load',function(){
console.log(goog.dom);
});
打印一个对象
仅供参考,还有其他可能的工作流程。例如,closurebuilder.py脚本可以帮助提前加载所有必需的文件
<script>
goog.require('goog.dom');
console.log(goog.dom);
</script>
<script>
goog.require('goog.dom');
</script>
<script>
console.log(goog.dom);
</script>
<script>
goog.require('goog.dom');
addEventListener('load', function() {
console.log(goog.dom);
});
</script>