3

我正在尝试使用以下配置文件中定义的 Plovr 编译我的 JavaScript 文件:

{
  "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 服务器:

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

然后我进入http://localhost:9810/compile?id=hello_demo网络浏览器,一旦完成编译,它只显示“core_scripts.js”的编译代码

我希望编译器在“c:/wf/my_project/js/build/”中创建了两个已编译的 JavaScript 文件,但什么也没有。

我错过了什么吗?

提前谢谢你的帮助。

4

2 回答 2

3

http://www.klokantech.com/,我们为新手准备了一组使用 Plovr 和 Closure Library 进行开发的示例。看:

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

有一个 helloworld,使用 Google Maps API V3 的基本应用程序,一个带有闭包模板 (soy) 的演示,一个 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),其中界面的不同部分正在加载附加功能(例如设置对话框、编辑器的 Composer 功能等)。它位于https://github.com/klokan/closure-library-plovr-hello-world-skeletonsmodules-api下的代码中。modules

于 2014-03-21T08:05:24.937 回答
2

您正在使用 plovr 的“服务”命令,它只是启动服务器(并在服务器上编译它而不生成静态文件)。您想运行“build”命令(使用相同的选项)在本地服务器上生成文件,如下所示:

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

于 2013-03-12T14:44:02.283 回答