Closed ljquan closed 3 years ago
可以提供一个复现的 demo 吗? 我这边没法复现上面提到的这个 AtAccordion 组件点击抛错。
https://github.com/ljquan/taro-test
npm i
npm run dev:h5
@ljquan 多谢耐心提供 repo。
我测试的时候,使用了之前的一个项目跑的,webpack config 里面把 taro-ui-vue3
alias 成了 taro-ui-vue3/dist/index.esm.js
,所以没能发现问题。
看了 Taro 和 Taro UI 的相关 Issues: Taro UI #1178,Taro #7300, 主要还是 Taro 方面的问题(已列入 milestone 3.0.11, 3.0.12).
新版本发布之前,可以临时在 webpack 配置中将 taro-ui-vue3
的 alias 设为 index.esm.js
。
关于这个 PR,如果只删除 package.json
里面的 browser
一项,会导致 rollup 打包时报错。
{
// rollup.config.js
file: resolveFile(Package.browser), // <--
format: 'umd',
name: 'taro-ui-vue3',
...
}
@ljquan 在 Taro 方面没解决这个问题之间,作为临时解决方案,这个 PR 很有必要。
可否新增一个 commit,保留 "browser" 入口,再新增一个 "main:h5" 入口,将其指向 "index.esm.js"。 这样既不用修改 rollup 配置,也能解决问题。
在项目中使用,webpack会优先使用browser,即便是import也是用到了index.umd.js,导致AtAccordion组件点击抛错。 index.umd.js?aa1b:42 Uncaught (in promise) TypeError: Taro__default.default.createSelectorQuery is not a function at delayQuerySelector (index.umd.js?aa1b:42)