2014-10-15 2 views
4

신입생 질문은 lime.js으로 게임 개발을 시작한 것이지만 아래에서이 오류가 발생합니다. 왜이 오류는 'moba.Bullet'이 이미 단 한 번 제공 되었기 때문에 이미 선언 된 이유를 설명합니다.은 네임 스페이스가 이미 선언되었을 때 '이미 선언되었습니다'라고 말합니다.

이 전체 오류입니다 : 만 일단 네임 스페이스 을 제공 한

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.'); 
    } 
    } 

:

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

가 base.js에서 오류의 위치를 ​​찾고,이 코드를 부여하고 ! 이것은 이것을 더욱 혼란스럽게 만든다 !!

이 문제를 이해하면 내 파일 구조가 도움이 될 것입니다.

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

및 moba.js (주 JS 파일) 총알을 인식 할 수 있도록 난 빈/lime.py 업데이 트를 실행 : 내 lime.js 게임의

폴더 구조 그렇게 것 같습니다. js!

이제 각 파일을 goog.provide 및 goog.require로 호출하는 방법에 대해 알아 보겠습니다.

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

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

여기에서 어디로 가야할지 모르겠습니다. 커맨드 라인을 통해 프로젝트를 다시 만들려고했으나 사랑이 없었습니다. 그러니 도와주세요. 도와 줘서 고마워!

답변

0

첫 번째 줄을 보면 시작 태그가 표시되고 if (! COMPILED)의 두 번째 줄에는 여는 태그가 있고 다섯 번째 줄에는 if (goog.isProvided_ (name))와 다른 여는 줄 태그가 있지만 그 코드의 끝에 두 개의 닫는 태그 만 있으면 세 번째 태그가 있어야한다고 생각합니다.

+0

안녕하세요 앰버, 당신이 발견 한 불균형 중괄호는 포스터의 문제의 일부가 아니라 부주의 복사 및 포스터의 붙여 넣기의 부산물로 생각합니다. 댓글을 통해 답변을 찾는데 도움이되는 상황을 명확히하고 추가 할 수있는 원래 게시물로 물을 수도 있습니다. –

0

나는 초보자도하지만 내가 처음 if 문에 대해 누락 된 닫는 태그를 발견 다음 코드를 찾고 있어요 :

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.'); 
    } 
    } 

가끔 문이 많은 문제를 일으킬 수 있습니다 경우를 닫습니다 잊어. 희망이 도움이됩니다.

+0

누락 된 마감 태그는 어디에 있습니까? 나 못 봤어! 나는 똑같은 문제를 겪고있다. – Ruby

+0

내 문제는 중복으로 인한 것입니다