如果您不关心缩小代码,有没有办法开始使用Google Closure库而无需设置subversion客户端并使用编译器?Google网站上的记事本示例程序是指
<script src="closure-library/base.js" > </script >
你能简单地在某处下载closure-library/base.js并开始玩UI示例吗?该封闭精简版快速入门版本不会出现包括goog.ui
我已经设法创建了一个小型js应用程序,它使用jQuery和jQuery UI,使用谷歌的闭包编译器和高级优化.为了清楚起见:我没有编译jQuery本身,只是我的应用程序使用jquery.我想知道是否有人可以确认这个想法也适用于更大更复杂的应用程序.
程序如下:
0.-你有一个调用jquery-1.4.3.min.js,test1.js和test2.js的html文件
1.-编译您的应用程序并导出属性映射文件
java -jar closure-compiler.jar \
--compilation_level ADVANCED_OPTIMIZATIONS \
--js test1.js --js test2.js \
--property_map_output_file prop.out > min.js
Run Code Online (Sandbox Code Playgroud)
属性映射是一个键/值文件,其中包含编译前后的属性名称:
aprop:a
html:b
each:c
Run Code Online (Sandbox Code Playgroud)
2.-将prop.out复制到prop.in并对其进行编辑,以便将jQuery属性(函数)替换为相同的名称(这可以使用list jquery的函数轻松实现):
aprop:a
html:html
each:each
Run Code Online (Sandbox Code Playgroud)
3.-使用prop作为属性映射输入重新编译
java -jar closure-compiler.jar \
--compilation_level ADVANCED_OPTIMIZATIONS \
--js test1.js --js test2.js \
--property_map_input_file prop.in > min.js
Run Code Online (Sandbox Code Playgroud)
4.-现在在你的html中,包括min.js和jquery-1.4.3.min.js.应用程序应该是可用的,但您的代码应该更快更小.
这会缩小你的代码,而不是jquery.
正如我所说,我已经在一个小应用程序中测试了这个.如果有人拥有更大更复杂的应用程序,那么知道这样可行会很高兴.
谢谢,
HEG
我正在使用闭包库来做一个简单的POST.我认为XhrI应该工作,因为当我使用任何其他休息客户端时,我的机器,如Firefox浏览器应用程序RESTClient或Chrome的简单休息客户端,我可以向服务器发出POST请求,内容类型是application/json.
但是根据我的申请,我无法发帖.我使用以下代码
xhr = new goog.net.XhrIo;
xhr.send('http://myhost:8181/customer/add','POST', goog.json.serialize(data));
Run Code Online (Sandbox Code Playgroud)
如果我将标题保留为默认值,我会得到这个
Run Code Online (Sandbox Code Playgroud)Encoding: UTF-8 Http-Method: POST Content-Type: application/x-www-form-urlencoded;charset=UTF-8
如果我尝试通过传递{'content-type':'application/json'}第4个参数来更改标题,标题将更改为
Http-Method:选项
内容类型:
我是否应该能够使用Closure库正确地更改标头,就像RESTClient使用JQuery使用XMLHttpRequest一样?
如何更改标题以使其显示为这样
Run Code Online (Sandbox Code Playgroud)Encoding: UTF-8 Http-Method: POST Content-Type: application/json;charset=UTF-8
感谢Eddie的任何帮助