Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在Android端运行这个demo程序,点击“”跳转到Taro API页“,无法跳转,需要进行什么样的配置吗 #4

Open
like001 opened this issue Apr 20, 2022 · 4 comments

Comments

@like001
Copy link

like001 commented Apr 20, 2022

image

@zhiqingchen
Copy link
Member

https://github.com/wuba/taro-playground

建议用上面这个方案吧。

Taro-Code-In-React-Native,该方式使用人过少,不再维护。

@like001
Copy link
Author

like001 commented Apr 25, 2022

多谢回复。我这边下载https://github.com/wuba/taro-playground看了,但是不太符合我的需求。

  1. 我的需求:
    快速验证现有rn项目集成taro的可行性。即在现有的rn项目中,集成基本的taro代码,然后编译成Bundle文件之后运行。所以可能这个仓库更加合适。
  2. 目前编译的报错信息
    编译时报错:error:error Unable to resolve module react/jsx-runtime from projects\zm.template.coon\main\MainPage.js: react/jsx-runtime could not be found within the project
  3. 报错文件
    我在现有rn工程的入口js文件中,添加了如下代码:
import {
  Button as TaroButton,
} from '@tarojs/components'

render() {
    return (
      <TaroButton className="btn" >TaroButton测试按钮</TaroButton> 
    );
  }
  1. 已有的工作
    按照一下步骤操作:
    image
    4.1 修改package.json添加依赖
"@tarojs/components": "3.3.0",
    "@tarojs/components-rn": "3.3.0",
    "@tarojs/rn-style-transformer": "3.3.0",
    "@tarojs/rn-supporter": "3.3.0",
    "@tarojs/runtime-rn": "3.3.0",
    "@tarojs/taro-rn": "3.3.0"

4.2 修改metro配置,将项目原有打包配置和taro打包配置合并

const supporter = new Supporter()
const taroMetroConfig = supporter.getMetroConfig()

const busConfig = {
  resetCache:true,
}
// module.exports = diyConfig
const mergedConfig = mergeConfig(taroMetroConfig,busConfig,diyConfig)
Reflect.deleteProperty(mergedConfig.resolver,'resolveRequest');
module.exports = mergedConfig

4.3 修改babel.config.js

module.exports = {
  presets:[
    ['taro', {
      framework: 'react',
      ts: true
    }]
  ],
  plugins: [
    ["@babel/plugin-proposal-decorators",{"legacy":true}],
  ],
};

4.4 项目根目录下添加config文件夹以及对应文件
image

@like001
Copy link
Author

like001 commented Apr 25, 2022

请问:
1 我的配置方式、操作步骤是否正确
2 react/jsx-runtime的编译问题,我在@tarojs/components中没有看到,是否有解决思路
3 目前我的项目里面,使用的rn版本是0.61,"react": "16.9.0",升级rn的成本也较高。当前rn版本是否支持集成taro
4 如果当前工程不再维护,是否有更详细的指导现有rn项目集成taro的文档可以参考

多谢!

@zhiqingchen
Copy link
Member

如果当前工程不再维护,是否有更详细的指导现有rn项目集成taro的文档可以参考。

按这个工程集成是可行的,不再维护指的不会再升级迭代。现有rn集成taro的话,因为现有项目可能有各种配置以及依赖版本,导致集成不成功,无法提供解决方案。

你遇到的问题,建议先升级 RN 及 React。
或者使用壳工程 https://github.com/NervJS/taro-native-shell

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants