2013-03-11 105 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