为什么混淆的SAPUI5 App .js文件在浏览器开发工具中显示为缩小版本?

2020-08-18 12:12发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨社区 希望有人可以在下面的...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨社区


希望有人可以在下面的难题中给出提示。

我们正在寻找对SAPUI5应用程序中的.js文件进行混淆的方法。 在构建项目时,我们设法增强了Gruntfile使其包含混淆步骤。 如果我们查看/dist文件夹,则所有文件都是我们期望的被混淆的文件。


但是,当我们部署项目并在浏览器开发工具中检查源文件时,我们得到的是缩小文件,而不是经过混淆的文件。 从本质上来说,使混淆变得毫无价值,因为"源"文件可用于项目部署位置的任何使用者。

有人可以帮助解释为什么在加载已部署的SAPUI5应用程序而不是混淆的SAPUI5应用程序时看到.js文件的缩小版本吗?

感觉SCP会将源代码的副本保存在某个地方并与客户端共享。

一些背景信息:

  • Component-preload.js文件也已被混淆。
  • 我们尝试排除/dist文件夹中包含源代码的-dbg.js文件。
  • 我们尝试将/dist文件夹复制到一个新项目中,并将其作为独立版本部署,其中所有.js文件都已被混淆。
  • 我们尝试将混淆后的项目部署在另一个SCP帐户上,并使用另一台PC排除缓存。
  • 当我们从SAP Web IDE Full Stack运行应用程序时,我们会在浏览器开发工具中看到混淆的文件。
  • 这是我们当前正在使用的混淆设置:
    obfuscationOptions = { controlFlowFlattening:true,
    controlFlowFlatteningThreshold:0.75,
    deadCodeInjection:true,
    deadCodeInjectionThreshold:0.4,
    debugProtection:false,
    debugProtectionInterval:false,
    disableConsoleOutput:false,
    identifierNamesGenerator:'十六进制',
    log:false,
    namedGlobals:false ,
    rotationStringArray:true,
    selfDefending:true,
    stringArray:true,
    stringArrayEncoding:'base64',
    stringArrayThreshold:0.75,
    transformObjectKeys:true,
    unicodeEscapeSequence: false
    };

任何帮助或提示将不胜感激。

谢谢

Adam lamaa

8条回答

嗨,亚当,

如果您使用名为" @ sap/grunt-sapui5-bestpractice-build的Grunt Task" "执行此任务后,您不能再依赖其他任务来更改dist文件夹。 它将清理目标文件夹并写入新文件。 它可以自动执行最常见的sapui5构建过程。 因此,执行此任务后,必须对dist文件夹中的文件进行任何处理。

BTW:最佳实践会自动创建ComponentPreload.js文件。 您可以从dist文件夹中删除该文件,也可以对其进行混淆。 如果不这样做,您的浏览器将从ComponentPreload加载javascript定义,而不是从经过混淆的文件加载。

最好的问候,
伊万

一周热门 更多>