NervJS / taro

开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/
https://docs.taro.zone/
Other
35.58k stars 4.8k forks source link

3.5.0更新失败 #11847

Closed ajuner closed 2 years ago

ajuner commented 2 years ago

相关平台

微信小程序

小程序基础库: default 使用框架: React

复现步骤

没有更新脚手架 直接在原有项目上更新

  1. 打开example下的custom-tabbar-react项目
  2. 按文章步骤升级3.5.0-beta.0
  3. 报错 image

期望结果

正常启动

实际结果

失败

环境信息

  Taro CLI 3.4.3 environment info:
    System:
      OS: Windows 10
    Binaries:
      Node: 16.14.0 - D:\Program Files\nodejs\node.EXE
      Yarn: 1.22.17 - C:\Users\caiju\AppData\Roaming\npm\yarn.CMD
      npm: 8.3.1 - D:\Program Files\nodejs\npm.CMD
Chen-jj commented 2 years ago

CLI 也要更新一下

ajuner commented 2 years ago

还有个问题,esbuild执行的时候有没有配置的入口 我在页面中引用 ../custom组件的时候 只有 /custom/index.tt.tsx /custom/index.weapp.tsx /custom/index.alipay.tsx 并没有 /custom/index.tsx的文件导致报错

ajuner commented 2 years ago

image cli更新了 还是报错

Chen-jj commented 2 years ago

我在页面中引用 ../custom组件的时候 只有 /custom/index.tt.tsx /custom/index.weapp.tsx /custom/index.alipay.tsx 并没有 /custom/index.tsx的文件导致报错

感谢反馈,这种情况之前没有考虑到,我们回归一下。

custom-tabbar 我看看是什么问题,晚点回复

weilaiqishi commented 2 years ago

确实确实 启动失败 esbuild报的错

weilaiqishi commented 2 years ago

我怀疑没有测试在windows平台上的兼容性。。。 esbuild预编译依赖好像因为路径问题报错了 image

我尝试改了@tarojs/webpack5-runner/dist/prebundle/bundle.js里面路径处理成双斜杠就能正常打包了 image

期望能回归一下 @Chen-jj

ajuner commented 2 years ago

debug中还遇到一些问题一起记录下,我也做了修改路径的处理后是可以了 但是会提示一个找不到.taro/remote下的错误,需要手动创建remote文件夹后webpack正常启动 小程序中提示prebundle中的js没找到发现prebundle文件夹为空 image 另外热更新速度比原来快了十几秒真的非常期待了

Chen-jj commented 2 years ago

但是会提示一个找不到.taro/remote下的错误,需要手动创建remote文件夹后webpack正常启动 小程序中提示prebundle中的js没找到发现prebundle文件夹为空

@ajuner 这个问题能提供一下 demo 么?

ajuner commented 2 years ago

不太好定位,是老项目的升级出的问题,到第三步webpack没打到remote里,新项目没问题,打算慢慢迁移找下问题 1654002289(1)

Chen-jj commented 2 years ago

@ajuner 可以看看 prebundle 了哪些依赖,然后尝试 exclude 掉看看。

ajuner commented 2 years ago

所有都exclude了 还是有错 😭

ajuner commented 2 years ago

定位到了 用了dotenv把NODE_ENV设置成了production 但是config文件里面设置的NODE_ENV是development 修改后能正常打包了

ajuner commented 2 years ago

mini-html-parser2 这个包有问题打包后会报错 exclude后就行了

Chen-jj commented 2 years ago

我怀疑没有测试在windows平台上的兼容性。。。 esbuild预编译依赖好像因为路径问题报错了

Windows 路径问题已修复:https://github.com/NervJS/taro/commit/8099c28df61c033c86e3e819dff3d59400f21bde

Chen-jj commented 2 years ago

@ajuner custom-tabbar-react 我升级了一下,验证了是能正常跑的,可以对比一下此 commit: https://github.com/NervJS/taro/commit/1fc21cdc19e42369b7f0321e5112207c8985ca0d

ajuner commented 2 years ago

我在页面中引用 ../custom组件的时候 只有 /custom/index.tt.tsx /custom/index.weapp.tsx /custom/index.alipay.tsx 并没有 /custom/index.tsx的文件导致报错

感谢反馈,这种情况之前没有考虑到,我们回归一下。

custom-tabbar 我看看是什么问题,晚点回复

后缀名这个问题能支持嘛