在微信小程序项目升级改版过程中,新旧功能需要长期共存,这带来了技术框架选择的挑战。团队经过评估,最终选择了Taro框架,因为它支持跨端统一开发、使用React语法,并且插件生态丰富,尽管引入额外概念可能增加学习成本。相比之下,wepy和uni-app各有优缺点,但Taro在多端适配和插件支持方面表现更优。
为了实现Taro与原生微信小程序的共存,团队对比了两种方案:一种是将原生应用转换为Taro项目,这种方式一劳永逸但转换后可能不支持某些特性,需要全面测试;另一种是两者共存,新旧页面完全独立,但每次更新需处理路径资源。综合考虑稳定性,选择了共存方案,通过脚本自动化处理资源路径,减少手动操作。
具体实现时,项目结构分为原生部分和Taro部分。原生页面文件存放在pages和pages_compass目录,而Taro新项目打包后的产物位于taro/dist下,包括页面文件和样式文件。集成过程主要涉及三个步骤:首先在原生入口app.js中引入Taro的app.js,其次在app.wxss中引入Taro的样式文件,这些只需一次改动;然后通过Node.js脚本自动更新dist下的资源路径,将页面和资源引用指向正确位置,示例脚本使用fs模块递归遍历文件并替换字符串,确保路径一致性。此外,需要注意包预览和上传时的依赖分析,以优化包体积。
参考Taro官方文档提供了更多集成细节,帮助开发者深入理解混合开发模式。通过这种方式,项目能够平稳过渡,支持新旧功能并行运行,为后续升级奠定基础。