RN 中利用NodeJS修改文件内容


公司大佬 教我如何在RN项目中利用NodeJS修改三方库文件或者三方库的原生配置文件中的内容

备注:此方式 是在你无法替换三方库 以及 无法控制使用的库文件代码 的不得已情况才使用的,如果你有更好的方式欢迎留言

使用场景:

1、 当你使用的第三方库中的内容出了BUG或者不符合你的使用情况;
2、 当你三方库的原生代码的配置文件中出现了不符合你的版本信息的情况;
3、 等等其他情况,都可以使用这种方式修改;


例子:修改修改库文件中(Android部分)gradle 中的内容

步骤:

1、写一个工具类的JS文件:fix-gradle.js
const fs = require('fs');
const path = require('path');

const projectPath = `${__dirname}/../..`;

const qqFile = '/node_modules/@pangu/react-native-qq/android/build.gradle';
const qqformPath = path.resolve(projectPath + qqFile);
try {
  let fileContent = fs.readFileSync(qqformPath, 'utf-8');
  const originValue1 = /buildToolsVersion "23.0.1"/g;
  const replaceValue1 = "buildToolsVersion '26.0.3'";
  fileContent = fileContent.replace(originValue1, replaceValue1);

  const originValue2 = /compileSdkVersion 23/g;
  const replaceValue2 = 'compileSdkVersion 26';
  fileContent = fileContent.replace(originValue2, replaceValue2);

  const originValue3 = / implementation /g;
  const replaceValue3 = ' compile ';
  fileContent = fileContent.replace(originValue3, replaceValue3);

  fs.writeFileSync(qqformPath, fileContent, 'utf8');
  console.log('🎉 🎉 🎉, react-native-qq 🐛 is fixed 👍👍👍.');
} catch (e) {
  console.log('error react-native-qq ', e);
}
2、在package.json中配置命令
{
  "version": "7.1.0",
  "private": true,
  "scripts": {
      //...
    "fix-gradle": "node src/utils/fix-gradle.js",
      //...
  },
//...
}
3、在终端中使用该命令
 yarn fix-gradle
执行情况
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,851评论 1赞 32
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,792评论 4赞 61
  • 0. 写在前面 当你开始工作时,你不是在给你自己写代码,而是为后来人写代码。 —— Nichloas C. Zak...
    康斌阅读 5,579评论 1赞 42
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 4,477评论 0赞 5
  • https://www.jianshu.com/p/7c288a17cda8 总的来说,Android的系统体系结...
    燕京博士阅读 1,481评论 0赞 6

友情链接更多精彩内容