5

我对闭包库是全新的,并且正在开始。我刚刚在Windows7机器上安装了Python,希望连接并缩小脚本。我按照记录here的方式执行了一些命令,但没有任何收获。这里有一些参数安装如何使用closurebuilder编译和缩小脚本

  • 的Python在c:\python27\python.exe

  • Closure库c:\closure\

  • Closure编译器在c:\closure\bin\build\compiler.jar

  • 我的JavaScript文件中D:\projects\closureapp\js\index.js

在index.js的项

内容如下

/// <reference path="../closure/base.js" /> 
/// <reference path="../closure/dom/dom.js" /> 


/*Hello world into Closure Library Example*/ 

//Load the dom module 
goog.require("goog.dom"); 


//refer the document body 
var pageBody = document.body; 

//after the body is loaded execute and add a header 
pageBody.onload = function() { 

    //create a header for the page 
    var pageHeader = goog.dom.createDom('h1', { 'style': 'background-color:#EEE' }, 'Hello world!'); 

    //append the header to the document body 
    goog.dom.appendChild(pageBody, pageHeader); 

}; 

我执行下面的命令来产生编译JavaScript,但没有收获

c:\python27\python.exe c:\closure\bin\build\c 
losurebuilder.py --root=closure/ --root=d:\Projects\closureapp\js\ -- 
output_mode=compiled --compiler_jar=compiler.jar > d:\Projects\closureapp\js\output.js 

我得到一些奇怪的消息像下面

c:\closure\bin\build\closurebuilder.py: Building dependency tree.. 
Traceback (most recent call last): 
    File "c:\closure\bin\build\closurebuilder.py", line 257, in <module> main() 
    File "c:\closure\bin\build\closurebuilder.py", line 204, in main tree = depstree.DepsTree(sources) 
    File "c:\closure\bin\build\depstree.py", line 56, in __init__ raise NamespaceNotFoundError(require, source) 
    depstree.NamespaceNotFoundError: Namespace "goog.async.Deferred" never provided. 
    Required in Source closure\messaging\portchannel.js 

回答

4
+0

让我在工作机器上试试这个,并返回 – Deeptechtons 2012-03-12 16:40:17

+1

- 根据John – 2012-04-19 18:58:00

+0

的root = third_party这是否意味着闭包编译器已经死亡? 4年前确定的一个大问题,基本上会使记录的示例无法正常工作:https://developers.google.com/closure/library/docs/closurebuilder我喜欢关闭编译器的想法,但似乎已经很难使用几乎不可能使用。 – HMR 2015-04-14 01:26:33