想对打包时候对脚本文件做一些处理我又哪几种方式可以做到呢?

具体场景描述:用户接入了微信 api 但是没有接入我们公司的 api。我想做一套跟微信 api 一样的 api 但是还没有做完。我想用户在打包的时候把我们支持的微信的 api 换成我们的 api。打包的平台是安卓。代码处理大概是这样:

// 处理之前
if(sys.platform === 'weixin') {
...
  wx.login()
...
}
// 处理之后
if(sys.platform === 'weixin') {
...
  wx.login()
...
} else if(sys.platform === 'android') {
  cc.login()
}
// 实际场景要比这个复杂,这个仅作参考

目前想到的一种思路是用插件直接修改用户的源码,这样就会导致一定的风险。想在构建中的时候接入脚本修改。万能的网友啊,在此拜托了。 :kissing_heart:

if(sys.platform === ‘android’) {
wx = companySDK;
}
companySDK和wx的接口完全一样,内部实现使用你们公司的api实现

@854969338 感谢解答,主要是通过插件实现如何在不改变用户源码的情况下修改用户的脚本逻辑。

// wx.js
window.xxx = window.xxx || {};
window.login = wx.login;
// android.js
window.xxx = window.xxx || {};
window.login = function(){
// TODO
}

根据打包平台,导入对应的文件,并在main.js里导入该文件。
因此,只有你们的cp安装你们的插件就可以了,不侵入代码。
如果你想要全局变量为wx,那就命名为wx就可以了。

@dream_chou93 感谢回答。这个力度太大了,不想统一处理,比如我们用户可能本身就支持安卓和微信俩个平台,然后我们只实现了 20% 的 API 。那剩下的 80% 这种情况我们想让他继续走他自己代码的逻辑。分部分处理这种平台判断的逻辑。想拿到打包的过程中处理用户的 js 文件流追加一步操作