小编Bor*_*kov的帖子

Java到JavaScript使用GWT编译器

我编写了一些Java代码,我想将其转换为JavaScript.我想知道是否可以使用GWT编译器将提到的Java代码编译成JavaScript代码,保留方法,变量和参数的所有名称.我尝试使用-draftCompile关闭代码优化来编译它,但是方法名称被破坏了.如果GWT编译器不能这样做,可以使用其他一些工具吗?

更新

Java代码只依赖于GWT模拟类,因此GWT编译器肯定能够处理它.

更新2

这个Java方法:

public String method()
Run Code Online (Sandbox Code Playgroud)

翻译成这个JavaScript函数:

function com_client_T_$method__Lcom_client_T_2Ljava_lang_String_2()
Run Code Online (Sandbox Code Playgroud)

使用编译器选项:

-style DETAILED
-optimize 0
-draftCompile
Run Code Online (Sandbox Code Playgroud)

所以名称不能保留.但有没有办法控制它们的变化?

澄清

比如说,您有一个用Java编写的排序算法(或其他一些简单的Maths实用程序).方法sort()采用整数数组.并在排序的数组中返回这些整数.现在说,我有Java和JavaScript应用程序.我想用Java编写这个方法一次,通过GWT编译器运行它,并保持方法名称相同,或者以可预测的方式更改它,这样我就可以检测它并知道如何将其更改回排序( ).然后我可以将该代码放在我的JavaScript应用程序中并使用它.如果Java版本发生变化,我也可以自动重新生成它.我在技术上有一个非常好的理由,我在高层次上理解GWT的概念,我只是在寻找这一点的答案.

结论

主要问题的答案是否定的.虽然方法名称可以在某种程度上保留,但它的主体不可用.其中的方法调用分散在整个生成的文件中,因此,它们不能在JavaScript库中使用,这是本主题的重点.

javascript java gwt

14
推荐指数
3
解决办法
2万
查看次数

使用JS客户端删除Google云端硬盘文件

我尝试使用Google云端硬盘文档中的示例.所以代码是:

var request = gapi.client.drive.files.delete({
    'fileId' : someFileId
    });

    request.execute(function(resp) 
    {
        console.log(resp);
    });
Run Code Online (Sandbox Code Playgroud)

应用程序安装正确,我正在使用drive.file范围.问题是该文件未被删除.它仍然存在于Drive UI中,无法再打开或下载.文件已损坏.

正在发送的请求不是文档中所述的DELETE https://www.googleapis.com/drive/v2/files/fileId.这是一个POST https://www.googleapis.com/rpc?key=API_KEY.正文包含一个JSON数组:

[{"jsonrpc":"2.0","id":"gapiRpc","method":"drive.files.delete","params":{"fileId":"someFileId"},"apiVersion":"v2"}]
Run Code Online (Sandbox Code Playgroud)

Response包含一个空的JSON对象.响应中没有错误,页面中没有JS错误.API Explorer成功删除了该文件.

任何提示?

javascript google-drive-api

5
推荐指数
1
解决办法
930
查看次数

标签 统计

javascript ×2

google-drive-api ×1

gwt ×1

java ×1