2

구글 폐쇄에 대한 종속성을 포함 않습니다어떻게 내가 아주 기본적인 파일 실행

goog.provide('test'); 

goog.require('goog.net.XhrIo'); 
goog.require('goog.json.Serializer'); 
goog.require('goog.dom'); 
goog.require('goog.ui.HoverCard'); 
goog.require('goog.positioning'); 
goog.require('goog.dom.dataset'); 

을하지만, 나는 그것이 알고 않는 방법

java -d32 -client -jar compiler/compiler.jar --js compiler/closure-library/closure/goog/base.js --js test.js --warning_level=VERBOSE 

컴파일에

test.js:3: ERROR - required "goog.net.XhrIo" namespace never provided 
goog.require('goog.net.XhrIo'); 

를 얻을 수 goog library를 찾으십니까?

편집 : 계속받을 http://closure-compiler.appspot.com/home과 :

JSC_MISSING_PROVIDE_ERROR: required "goog.net.XhrIo" namespace never provided at line 3 character 0 in test.js 
goog.require('goog.net.XhrIo'); 
^ 
JSC_MISSING_PROVIDE_ERROR: required "goog.json.Serializer" namespace never provided at line 4 character 0 in test.js 
goog.require('goog.json.Serializer'); 
^ 
JSC_MISSING_PROVIDE_ERROR: required "goog.dom" namespace never provided at line 5 character 0 in test.js 
goog.require('goog.dom'); 
^ 
JSC_MISSING_PROVIDE_ERROR: required "goog.ui.HoverCard" namespace never provided at line 6 character 0 in test.js 
goog.require('goog.ui.HoverCard'); 
^ 
JSC_MISSING_PROVIDE_ERROR: required "goog.positioning" namespace never provided at line 7 character 0 in test.js 
goog.require('goog.positioning'); 
^ 
JSC_MISSING_PROVIDE_ERROR: required "goog.dom.dataset" namespace never provided at line 8 character 0 in test.js 
goog.require('goog.dom.dataset'); 
+1

closurebuilder를 사용할 때이 기능이 제대로 작동합니다. 지금은이 코드를 사용합니다. – Timmy

답변

5

그것은 구글 폐쇄 도구의 모음입니다 것을 기억하는 것이 중요합니다 나는 또한에서 온라인 하나를 사용하여 시도

.

Google 툴은 시너지 효과가 있지만 이러한 툴간에 상당한 수준의 독립성을 유지하고 있습니다. Closure Compiler는 Closure Library 없이도 작동 할 수 있습니다. Closure Library는 Closure Compiler 없이도 작동 할 수 있습니다. 클로저 템플릿 등을 사용하지 않고도 모두 작업 할 수 있습니다.

Closure Compiler에없는 Python 스크립트가 작성되어 포함되었습니다. 그러나 요즘에는 거의 사용하지 않아야합니다.

클로저 컴파일러는 최근에이 특정 문제를 해결하기 위해 와일드 카드 표현식을 허용했습니다.

java -d32 -client -jar compiler/compiler.jar \ 
    --closure_entry_point=test    \ 
    --only_closure_dependencies    \ 
    --warning_level=VERBOSE     \ 
    compiler/closure-library/** 

compiler/closure-library/에있는 모든 파일은 필요한 네임 스페이스를 제공하는지 확인하기 위해 검사됩니다. 다른 파일은 포함되지 않습니다 (only_closure_dependencies).

+0

주말에이 같은 문제로 어려움을 겪고 있습니다. 당신이 설명하는 것은 의미가 있지만, 나는 당신이 문서를 읽는 방법을 모릅니다. 즉, 위에 나와있는 오류를 제공하는 샘플 명령을 실행했다 : "only_closure_dependencies가 켜져 있으면 적어도 하나의 closure_entry_point를 지정해야합니다" – brianvaughn

+0

@brianvaughn, 예, Closure는 다른 JS 도구. 그리고 네,'--closure_entry_point = test'를 추가해야합니다. 여기서'test'는 최상위 심볼입니다. –

+0

나는 마지막 코멘트를 남긴 이래로 약간의 진전을 이뤘다. Closure는 툴체인과 문서면에서 JS 라이브러리보다 Java 라이브러리와 같은 느낌이 듭니다. 생각을 공유해 주셔서 감사합니다, 그것은 과거의 한점을 도왔습니다. :) – brianvaughn