taro
taro copied to clipboard
Taro v3.5.1 编译支付宝插件报错 undefined (reading 'import')
相关平台
支付宝小程序
小程序基础库: 2 使用框架: React
复现步骤
- 初始化项目
npx @tarojs/cli init myTaro
- 执行
taro build --plugin alipay
- 出现报错
else if (Array.isArray(app.import)) {
-
TypeError: Cannot read properties of undefined (reading 'import')
期望结果
正常打包
实际结果
myApp/taro3.5.1/node_modules/@tarojs/webpack5-runner/dist/plugins/MiniSplitChunksPlugin.js:483 else if (Array.isArray(app.import)) { ^
TypeError: Cannot read properties of undefined (reading 'import')
at getEntryPath (/mnt/d/A项目/myApp/taro3.5.1/node_modules/@tarojs/webpack5-runner/src/plugins/MiniSplitChunksPlugin.ts:577:36)
at MiniSplitChunksPlugin.getAppEntry (/mnt/d/A项目/myApp/taro3.5.1/node_modules/@tarojs/webpack5-runner/src/plugins/MiniSplitChunksPlugin.ts:582:12)
at MiniSplitChunksPlugin.getSubpackageConfig (/mnt/d/A项目/myApp/taro3.5.1/node_modules/@tarojs/webpack5-runner/src/plugins/MiniSplitChunksPlugin.ts:589:27)
at MiniSplitChunksPlugin.apply (/mnt/d/A项目/myApp/taro3.5.1/node_modules/@tarojs/webpack5-runner/src/plugins/MiniSplitChunksPlugin.ts:330:29)
at createCompiler (/mnt/d/A项目/myApp/taro3.5.1/node_modules/webpack/lib/webpack.js:73:12)
at create (/mnt/d/A项目/myApp/taro3.5.1/node_modules/webpack/lib/webpack.js:134:16)
at webpack (/mnt/d/A项目/myApp/taro3.5.1/node_modules/webpack/lib/webpack.js:158:32)
at f (/mnt/d/A项目/myApp/taro3.5.1/node_modules/webpack/lib/index.js:63:16)
at /mnt/d/A项目/myApp/taro3.5.1/node_modules/@tarojs/webpack5-runner/src/index.mini.ts:28:29
at new Promise (
环境信息
👽 Taro v3.5.1
Taro CLI 3.5.1 environment info:
System:
OS: Linux 4.4 Ubuntu 20.04.3 LTS (Focal Fossa)
Shell: 5.0.17 - /bin/bash
Binaries:
Node: 16.13.0 - ~/.nvm/versions/node/v16.13.0/bin/node
Yarn: 1.22.19 - /mnt/d/nodejs/yarn
npm: 8.1.0 - ~/.nvm/versions/node/v16.13.0/bin/npm
npmPackages:
@tarojs/cli: 3.5.1 => 3.5.1
@tarojs/components: 3.5.1 => 3.5.1
@tarojs/helper: 3.5.1 => 3.5.1
@tarojs/plugin-framework-react: 3.5.1 => 3.5.1
@tarojs/plugin-platform-alipay: 3.5.1 => 3.5.1
@tarojs/plugin-platform-jd: 3.5.1 => 3.5.1
@tarojs/plugin-platform-qq: 3.5.1 => 3.5.1
@tarojs/plugin-platform-swan: 3.5.1 => 3.5.1
@tarojs/plugin-platform-tt: 3.5.1 => 3.5.1
@tarojs/plugin-platform-weapp: 3.5.1 => 3.5.1
@tarojs/react: 3.5.1 => 3.5.1
@tarojs/router: 3.5.1 => 3.5.1
@tarojs/runtime: 3.5.1 => 3.5.1
@tarojs/shared: 3.5.1 => 3.5.1
@tarojs/taro: 3.5.1 => 3.5.1
@tarojs/taro-h5: 3.5.1 => 3.5.1
babel-preset-taro: 3.5.1 => 3.5.1
eslint-config-taro: 3.5.1 => 3.5.1
react: ^18.0.0 => 18.2.0
报错信息
我简单的修改了本地的 taro3.5.1\node_modules\@tarojs\webpack5-runner\dist\plugins\MiniSplitChunksPlugin.js 282
提前return了
可以打包了,但是出现了两次compile,编译(支付宝插件)出来后,也是加载不出来(表现如 12204)
Taro 暂时还没完全适配支付宝小程序插件
微信小程序插件也会出现相同的问题,因为此时 compiler.options.entry.app
并不存在,entry
应当是插件的 page
目前遇到完全相同的问题,没有解决的方式,官方好像在3.x版本后就没有办法编译正常的支付宝小程序插件 @Chen-jj 目前有计划推进支付宝小程序插件的编译吗? 或者,有没有临时兼容的方式?
y.app
并不存在,entry
应当是插件的
请问如何修复呢?
y.app
并不存在,entry
应当是插件的请问如何修复呢?
不要使用 webpack5 编译模式
y.app
并不存在,entry
应当是插件的请问如何修复呢?
不要使用 webpack5 编译模式
牛,搞定了,非常感谢!