gpt4 book ai didi

javascript - 说 Namespace 'already been declared' 当我只声明了一次

转载 作者:搜寻专家 更新时间:2023-10-31 21:49:30 25 4
gpt4 key购买 nike

这里是新手问题,因为我刚刚开始使用 lime.js 进行游戏开发,但我在下面收到此错误,我无法弄清楚为什么此错误说 'moba.Bullet' 已经声明,因为我只提供了一次!

这是完整的错误:

Uncaught Error: Namespace "moba.Bullet" already declared. 
goog.provide base.js:
(anonymous function)

当查看 base.js 中的错误位置时,我得到了以下代码:

goog.provide = function(name) {
if (!COMPILED) {
// Ensure that the same namespace isn't provided twice.
// A goog.module/goog.provide maps a goog.require to a specific file
if (goog.isProvided_(name)) {
throw Error('Namespace "' + name + '" already declared.');
}
}

我只提供了命名空间一次!这让事情变得更加困惑!!

要理解这个问题,看看我的文件结构会有帮助。

我的 lime.js 游戏的文件夹结构如下所示:

limejs >
moba >
moba.html
moba.js
bullet.js
bin >
lime.py
projects
external >
closure
box2D

我什至运行了 bin/lime.py update 以便 moba.js(主 js 文件)能够识别 bullet.js!

现在我们来看看如何使用 goog.provide 和 goog.require 调用每个文件。

moba.js >
goog.provide('moba');
goog.require('moba.Bullet');

bullet.js >
goog.provide('moba.Bullet');
Pretty standard, right?!

我不确定从这里到哪里去。我试过通过命令行重新创建项目,但没有爱。所以请帮助并感谢您的帮助!

最佳答案

如果您查看第一行,您会看到开始标记,那么第二行 if (!COMPILED) 有一个开始标记,然后第五行是 if (goog.isProvided_(name)) 和另一个开始标记, 但该代码末尾只有两个结束标记,我认为应该有第三个。

关于javascript - 说 Namespace 'already been declared' 当我只声明了一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26387988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com