Javascript 名称空间仅在Internet Explorer中未定义?

Javascript 名称空间仅在Internet Explorer中未定义?,javascript,google-closure-library,Javascript,Google Closure Library,我正在使用谷歌闭包库来实现一个非常大规模的项目。我刚刚开始工作,但是IE8中出现了一个奇怪的错误。它是唯一一个在页面中检测JavaScript错误的浏览器,我不明白为什么 这是指向所用JS脚本的链接。它使用的是GoogleJavaScript指南,因此应该很容易理解所有内容。谢谢你抽出时间 链接的JavaScript文件“niuzly.base.js”似乎没有提供名称空间。请尝试在版权声明下方添加以下行: goog.provide('niuzly.base.renderPage'); 您还应

我正在使用谷歌闭包库来实现一个非常大规模的项目。我刚刚开始工作,但是IE8中出现了一个奇怪的错误。它是唯一一个在页面中检测JavaScript错误的浏览器,我不明白为什么


这是指向所用JS脚本的链接。它使用的是GoogleJavaScript指南,因此应该很容易理解所有内容。谢谢你抽出时间

链接的JavaScript文件“niuzly.base.js”似乎没有提供名称空间。请尝试在版权声明下方添加以下行:

goog.provide('niuzly.base.renderPage');
您还应该显式地
goog.require
'goog.dom`:

goog.require('goog.dom');

这将添加到index.php文件的顶部,如谷歌指南所示。我的提供和要求语句的顺序与notes应用程序示例中的顺序相同。您是否尝试过将
goog.provide
goog.require
语句移动到“niuzly.base.js”中,以确保index.php中的执行顺序没有问题,闭包库遵循惯例,在每个JavaScript文件中放置适当的
goog.provide
goog.require
语句,以便诸如闭包生成器之类的工具可以管理依赖项。谢谢您最终解决了问题。您是对的,我偶然错过了它。谢谢你的麻烦!已经分类了,现在我有新的有趣的错误要处理!另外,对于使用闭包库的其他人。事实证明,您可以使用goog.dom.createDom函数定义所需的每个属性,但请确保“class”、“for”和任何其他JS本机内容都用引号标记,否则会出现错误。此外,当您使用单个属性定义元素时,不要在其后面添加逗号。我这样做是偶然的,除了IE之外,它在所有浏览器中都能正常工作。不过值得一提的是。