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>