公司帮客户开发了个系统,用的 react+typescript,现在移交项目给客户的时候,不希望客户拿到完整的源代码,但又需要给一部分的源代码。所以不能将整个项目打包后移交。
那么请问万能 v 友啊,有没有什么方法 /方案,可以将部分的源代码进行混淆,同时又让客户在修改未混淆的代码后,依然可以正常打包的?
各位有什么想法都可以说下,或者提供一些关键词也可以,我可以自己搜索相关内容。
最终目的就是不希望客户拿到完整的源码,所以其他方案也是可以的。
1
noe132 2021-09-02 11:43:55 +08:00 via Android 3
把需要改的代码提出来另外打包作为依赖加载进去不就行了
|
2
november OP @noe132 一开始没有这个需求,所以代码里面,耦合性还蛮强的,而且还涉及一些界面的内容。组长把它作为最后方案,让我再找找其他方法。(最后不行还真得将代码提出来,在我看来这等于重构了。)
|
3
triplelift 2021-09-02 12:05:20 +08:00 1
挺简单的。在 webpack 配置里把 uglify 配置加上正则匹配就行了,如果是 cra 生成的项目,应该要用其它的工具手动注入 webpack 配置
|
4
november OP @triplelift 意思是说打包的时候,让部分代码不混淆吗?不过如果是移交打包后的代码(即使不混淆)应该不算是源码吧?
|
5
Rheinmetal 2021-09-02 14:11:13 +08:00 1
生产全混淆 直接给一部分源码不行么...
|
6
triplelift 2021-09-02 19:35:47 +08:00
@november 那你就把需要混淆的代码单独打包成一个 lib 然后引用,不然你怎么能交付源码呢,打包后的代码即使不混淆也很难修改了。
|
7
triplelift 2021-09-02 19:39:23 +08:00
耦合强没关系,你只需要通过正则匹配多个 target,分别打包一个 lib 和 app 就行了。然后交付代码的时候要对配置稍微做修改,把 lib 相关的源代码删掉,然后把配置中对相应路径的引用指向打包后的 lib,应该就可以了
|