Javascript 使用Plovr编译模块
我正在尝试使用下面配置文件中定义的Plovr编译我的JavaScript文件:Javascript 使用Plovr编译模块,javascript,google-closure-compiler,google-closure,plovr,Javascript,Google Closure Compiler,Google Closure,Plovr,我正在尝试使用下面配置文件中定义的Plovr编译我的JavaScript文件: { "id": "hello_demo", "paths": ".", "closure-library": "closure-library/closure/goog/", "mode": "ADVANCED", "level": "DEFAULT", "pretty-print": true, "externs": ["prototype.js"], "modules": {
{
"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
在web浏览器中,编译完成后,它只显示“core_scripts.js”的编译代码
我希望编译器已经在“c:/wf/my_project/js/build/”中创建了两个编译过的JavaScript文件,但是什么都没有
我错过什么了吗
提前感谢您的帮助。您正在使用plovr的“serve”命令,该命令只启动服务器(并在服务器上编译,而不生成静态文件)。您希望运行“build”命令(使用相同的选项)在本地服务器上生成文件,如下所示:
java-jar c:/wf/my_project/plovr/plovr.jar build c:/wf/my_project/js/plovr config.js在这里,我们为新手准备了一组使用plovr和闭包库进行开发的示例。见:
有一个helloworld,一个使用GoogleMapsAPIv3的基本应用程序,一个带有闭包模板(soy)的演示程序,一个OpenLayers应用程序,等等
我不确定您是否真的需要编译模块——特别是如果您是Plovr和CLOSE新手的话。闭包工具的思想是,通常完整的代码都被编译成一个.js文件——这就是闭包编译器高级最小化的最佳运行方式。阅读我的博客帖子:
无论如何,上面提到的框架示例代码也展示了如何使用Plovr中的模块,例如复杂JavaScript代码的动态可加载扩展——想象一下类似Gmail的单页应用程序(SPA),其中界面的不同部分正在加载附加功能(例如设置对话框、编辑器的编写器功能等)。它位于代码中,如中的modules api
和modules
下