Skip to content

taro-ui项目fork下来运行packages/taro-ui-demo-rn报错 #1839

Open
@crise1993

Description

@crise1993

问题描述
taro-ui项目fork下来后pnpm start安装基础依赖后,运行packages/taro-ui-demo-rn下的dev:rn命令,使用taro-playground的1.8.2版本的taro app,运行后报错:

Image

复现步骤
1、执行pnpm run start后,进入packages/taro-ui-demo-rn目录后,运行pnpm run dev:rn命令,然后根据提示执行

pnpm add react@^18.1.0 react-dom@^18.1.0 @tarojs/taro-rn@3.6.6 @tarojs/components-rn@3.6.6  @tarojs/rn-supporter@3.6.6 @tarojs/runtime-rn@3.6.6 --save

2、config/index.js文件中增加以下配置:

const config = {
  // ...,
  compiler: {
    type: 'webpack5',
    prebundle: {
      // 在 taro3.5 之后的版本中,在开启 prebundle (默认开启)的情况下,会导致 @guazi-fe/koala-ui 所引用的 @taro/components 组件没有被打进最终的 bundle 中,导致页面表现异常。
      exclude: ['taro-ui']
    }
  },
  rn: {
    resolve: {
      include: ['../taro-ui'],
    },
    enableSvgTransform: true,
  },
}

3、metro.config.js中修改配置:

Image

// ...
const modules = [
// ...
'@tarojs/taro-rn',
  '@tarojs/rn-supporter',
]
// ...

4、再次运行pnpm run dev:rn --reset-cache命令,就会报上述👆🏻描述中的错误(不更改2、3步配置也会报)。

期望行为
能够正常启动packages/taro-ui-demo-rn项目并调试rn端组件。

报错信息
error: Error: Unable to resolve module @tarojs/rn-supporter/entry-file.js from /taro-ui/packages/taro-ui-demo-rn/index.js:

None of these files exist:

  • node_modules/@tarojs/rn-supporter/entry-file.js(.native|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.scss|.native.scss|.scss|.android.sass|.native.sass|.sass|.android.less|.native.less|.less|.android.css|.native.css|.css|.android.pcss|.native.pcss|.pcss|.android.json|.native.json|.json|.android.styl|.native.styl|.styl|.android.cjs|.native.cjs|.cjs|.android.svgx|.native.svgx|.svgx|.android.svg|.native.svg|.svg)
  • node_modules/@tarojs/rn-supporter/entry-file.js/index(.native|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.scss|.native.scss|.scss|.android.sass|.native.sass|.sass|.android.less|.native.less|.less|.android.css|.native.css|.css|.android.pcss|.native.pcss|.pcss|.android.json|.native.json|.json|.android.styl|.native.styl|.styl|.android.cjs|.native.cjs|.cjs|.android.svgx|.native.svgx|.svgx|.android.svg|.native.svg|.svg)

1 | import '@tarojs/rn-supporter/entry-file.js'
| ^
2 |
at ModuleResolver.resolveDependency (/taro-ui/node_modules/.pnpm/metro@0.73.10/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:141:15)
at DependencyGraph.resolveDependency (/taro-ui/node_modules/.pnpm/metro@0.73.10/node_modules/metro/src/node-haste/DependencyGraph.js:260:43)
at Object.resolve (/taro-ui/node_modules/.pnpm/metro@0.73.10/node_modules/metro/src/lib/transformHelpers.js:177:33)
at Graph._resolveDependencies (/taro-ui/node_modules/.pnpm/metro@0.73.10/node_modules/metro/src/DeltaBundler/Graph.js:432:35)
at Graph._processModule (/taro-ui/node_modules/.pnpm/metro@0.73.10/node_modules/metro/src/DeltaBundler/Graph.js:218:38)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Graph._traverseDependenciesForSingleFile (/taro-ui/node_modules/.pnpm/metro@0.73.10/node_modules/metro/src/DeltaBundler/Graph.js:207:5)
at async Promise.all (index 0)
at async Graph.initialTraverseDependencies (/taro-ui/node_modules/.pnpm/metro@0.73.10/node_modules/metro/src/DeltaBundler/Graph.js:191:5)
at async DeltaCalculator._getChangedDependencies (/taro-ui/node_modules/.pnpm/metro@0.73.10/node_modules/metro/src/DeltaBundler/DeltaCalculator.js:196:25)

系统信息

Taro v3.6.6
Taro CLI 3.6.6 environment info:
System:
OS: macOS 14.6
Shell: 5.9 - /bin/zsh
Binaries:
Node: 16.20.2 - ~/.nvm/versions/node/v16.20.2/bin/node
Yarn: 1.22.21 - ~/.nvm/versions/node/v16.20.2/bin/yarn
npm: 8.19.4 - ~/.nvm/versions/node/v16.20.2/bin/npm
pnpm: 7.33.6- ~/.nvm/versions/node/v16.20.2/bin/pnpm
npmPackages:
@tarojs/cli: 3.6.6 => 3.6.6
@tarojs/components: 3.6.6 => 3.6.6
@tarojs/components-rn: 3.6.6 => 3.6.6
@tarojs/mini-runner: 3.6.6 => 3.6.6
@tarojs/plugin-framework-react: 3.6.6 => 3.6.6
@tarojs/react: 3.6.6 => 3.6.6
@tarojs/rn-runner: 3.6.6 => 3.6.6
@tarojs/rn-supporter: 3.6.6 => 3.6.6
@tarojs/runtime: 3.6.6 => 3.6.6
@tarojs/runtime-rn: 3.6.6 => 3.6.6
@tarojs/taro: 3.6.6 => 3.6.6
@tarojs/taro-rn: 3.6.6 => 3.6.6
@tarojs/webpack-runner: 3.6.6 => 3.6.6
babel-preset-taro: 3.6.6 => 3.6.6
eslint-config-taro: 3.6.6 => 3.6.6
expo: ~47.0.14 => 47.0.14
react: ^18.2.0 => 18.2.0
react-native: ^0.71.6 => 0.71.6
taro-ui: workspace:^ => 3.3.0

补充信息
想解决rn端组件bug和贡献rn端组件,但是不清楚是不是metro配置有问题,还是哪里有问题,taro-ui-demo-rn无法正常运行,恳请大佬帮忙解决下。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions