2013-03-11 454 views
3

我想在下面的配置文件中定義編譯使用Plovr我的JavaScript文件:使用Plovr編譯模塊

java -jar c:/wf/my_project/plovr/plovr.jar serve c:/wf/my_project/js/plovr-config.js 

{ 
    "id": "hello_demo", 
    "paths": ".", 
    "closure-library": "closure-library/closure/goog/", 
    "mode": "ADVANCED", 
    "level": "DEFAULT", 
    "pretty-print": true, 
    "externs": ["prototype.js"], 
    "modules": { 
    "core_scripts": { 
     "inputs": "core_scripts.js", 
     "deps": [] 
    }, 
    "add_new_item": { 
     "inputs": "add_new_item.js", 
     "deps": "core_scripts" 
    } 
    }, 
    "module-output-path": "build/module_%s.js" 
} 

我使用下面的命令來啓動Plovr服務器然後我在網絡瀏覽器中訪問http://localhost:9810/compile?id=hello_demo,一旦它完成編譯,它就會顯示「core_scripts.js」的編譯代碼只有

我希望編譯器創建tw o在「c:/ wf/my_project/js/build /」中編譯JavaScript文件,但沒有任何內容。

我錯過了什麼嗎?

感謝您提前給予的幫助。

回答

2

您正在使用plovr的「serve」命令,它只是啓動服務器(並在服務器上編譯它,而不生成靜態文件)。您想要運行「build」命令(使用相同的選項)來生成本地服務器上的文件,例如:

java -jar c:/wf/my_project/plovr/plovr.jar build c:/ wf/my_project/js/plovr-config.js

3

http://www.klokantech.com/我們準備了一套使用Plovr和Closure Library開發新手的例子。請參閱:

https://github.com/klokan/closure-library-plovr-hello-world-skeletons

有一個HelloWorld,使用谷歌地圖API V3,用封模板(大豆),一個應用程序的OpenLayers等演示基本應用

我不知道,如果你真的需要編譯模塊 - 特別是如果你是Plovr和Closure的新手。 Closure Tools的思想是通常將完整的代碼編譯成一個.js文件 - 這就是Closure Compiler Advanced最小化運行得最好的方式。閱讀我的博客文章:

http://blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html

反正上面也提到了骨架的示例代碼顯示瞭如何在Plovr,如模塊工作。動態加載的複雜JavaScript代碼擴展 - 想象一下類似Gmail的單頁面應用程序(SPA),其中接口的不同部分正在加載附加功能(例如設置對話框,編輯器的編輯器功能等)。代碼爲modules-apimodules,代碼爲https://github.com/klokan/closure-library-plovr-hello-world-skeletons