react 项目,请问有没有方法可以只混淆一部分源码,然后另外的小部分源码不混淆的?

2021-09-02 11:30:36 +08:00
 november

公司帮客户开发了个系统,用的 react+typescript,现在移交项目给客户的时候,不希望客户拿到完整的源代码,但又需要给一部分的源代码。所以不能将整个项目打包后移交。

那么请问万能 v 友啊,有没有什么方法 /方案,可以将部分的源代码进行混淆,同时又让客户在修改未混淆的代码后,依然可以正常打包的?

各位有什么想法都可以说下,或者提供一些关键词也可以,我可以自己搜索相关内容。

最终目的就是不希望客户拿到完整的源码,所以其他方案也是可以的。

1049 次点击
所在节点    问与答
7 条回复
noe132
2021-09-02 11:43:55 +08:00
把需要改的代码提出来另外打包作为依赖加载进去不就行了
november
2021-09-02 11:49:52 +08:00
@noe132 一开始没有这个需求,所以代码里面,耦合性还蛮强的,而且还涉及一些界面的内容。组长把它作为最后方案,让我再找找其他方法。(最后不行还真得将代码提出来,在我看来这等于重构了。)
triplelift
2021-09-02 12:05:20 +08:00
挺简单的。在 webpack 配置里把 uglify 配置加上正则匹配就行了,如果是 cra 生成的项目,应该要用其它的工具手动注入 webpack 配置
november
2021-09-02 12:42:46 +08:00
@triplelift 意思是说打包的时候,让部分代码不混淆吗?不过如果是移交打包后的代码(即使不混淆)应该不算是源码吧?
Rheinmetal
2021-09-02 14:11:13 +08:00
生产全混淆 直接给一部分源码不行么...
triplelift
2021-09-02 19:35:47 +08:00
@november 那你就把需要混淆的代码单独打包成一个 lib 然后引用,不然你怎么能交付源码呢,打包后的代码即使不混淆也很难修改了。
triplelift
2021-09-02 19:39:23 +08:00
耦合强没关系,你只需要通过正则匹配多个 target,分别打包一个 lib 和 app 就行了。然后交付代码的时候要对配置稍微做修改,把 lib 相关的源代码删掉,然后把配置中对相应路径的引用指向打包后的 lib,应该就可以了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/799424

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX