angularjs - 如何构建与 Chrome 扩展混淆策略兼容的 Angular 项目
问题描述
我们一直在使用 TypeScript(Visual Studio Code)开发一个 Angular 项目。我们正在将该项目部署为 Google Webstore 中的 Chrome 扩展程序,它运行良好,但两天前,当我们尝试重新发布具有最新更改的扩展程序时,Chrome 商店拒绝了该请求,原因如下。
您的商品不符合我们计划政策的以下部分:
“内容政策”
开发人员不得混淆代码或隐藏其扩展的功能。这也适用于扩展包获取的任何外部代码或资源。
发现您的项目有一个或多个文件不符合此政策。
请注意,以下形式允许缩小:
删除空格、换行符、代码注释和块分隔符
缩短变量和函数名称
折叠 JavaScript 文件的数量
有关更多信息,请查看这些为 Google 开发人员推荐的缩小技术。
我们正在使用ng build命令构建我们的 Angular 项目。我们的环境参数:
Angular CLI: 1.5.2
Node: 12.13.0
OS: win32 x64
Angular: 5.2.3
... common, compiler, compiler-cli, core, forms, http
... language-service, platform-browser, platform-browser-dynamic
... router
@angular/animations: 5.2.11
@angular/cdk: 5.2.5
@angular/cli: 1.5.2
@angular/material: 5.2.5
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.2.0
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.8.2
@schematics/angular: 0.1.17
typescript-require: 0.2.9-1
typescript: 2.4.2
webpack: 3.8.1
谁能帮助我们如何构建我们的项目以使其与 Chrome 扩展策略兼容?
解决方案
有趣,很抱歉让您失望,但恐怕(没有作者帮助)将打字稿转换为可读的未混淆代码是不可能的。我正在研究这个问题,恐怕您唯一的选择是要求谷歌审查您的源代码并检查总和,但每次更新您的扩展时,这对您和审查者来说都是痛苦的你的身边。在这一点上,您唯一现实的选择是将您的 typescript angular 项目转换为 purejs angular 项目,使用纯 javascript 实际上并不那么可怕,如果不是所有的过程都在一起,技术上应该加速过程的不同部分,一个明智的man 曾经说过,一个好的 javascript 开发人员可以编写比一群 typescript 开发人员更高效、更快的代码,恐怕这是真的。. 当 typescript 编译成 javascript 时发生的转录过程总是会生成“机器码”或者换句话说不可读的混淆代码,至少从我的角度来看,这纯粹是我基于我从一开始就收集的知识和经验的意见这个计算机时代(是的,我经历了这一切)。所以要明确一点,以它自己的怪异方式:typescript 是 javascript,这意味着一些核心代码,如数据库交互、类、函数和 html,可以很容易地转换为纯 javascript,而无需 fuz。这完全是我基于从这个计算机时代开始时收集的知识和经验的意见(是的,我经历了所有这些)。所以要明确一点,以它自己的怪异方式:typescript 是 javascript,这意味着一些核心代码,如数据库交互、类、函数和 html,可以很容易地转换为纯 javascript,而无需 fuz。这完全是我基于从这个计算机时代开始时收集的知识和经验的意见(是的,我经历了所有这些)。所以要明确一点,以它自己的怪异方式:typescript 是 javascript,这意味着一些核心代码,如数据库交互、类、函数和 html,可以很容易地转换为纯 javascript,而无需 fuz。
看看这个: https ://www.google.com/search?q=convert+angular+typescript+to+javascript
推荐阅读
- python - 如何从同一张表上的另一个实体自动生成值
- python - 如何从文件中创建/读取嵌套字典?
- string - 获取动态创建的用户控件的值 (VB.NET)
- python - 如何使用 1 侧 wilcoxon 秩和测试 python
- python - 如何让 pygame 在我想要的时候更新显示?
- java - 试图为我的问答游戏获得正确的分数
- tomcat - 如何设置 k8s 访问部署在 Kubernetes 上的 tomcat 中运行的应用程序?
- angular - 如何使用 Angular 从 API 流式传输视频
- python - db.session.execute(sql, params) 不返回对象
- javascript - 未排序列表上的 onClick 不起作用?