遇到同样的问题,可以解决。可以参考 https://docs.taro.zone/docs/next/taro-in-miniapp#taro-%E9%A1%B9%E7%9B%AE%E5%BC%95%E7%94%A8%E5%8E%9F%E7%94%9F%E9%A1%B9%E7%9B%AE%E7%9A%84-js-%E6%96%87%E4%BB%B6 Taro 项目引用原生项目的 JS 文件
使用“跨分包 JS 代码引用”的语法,此require语法不能被webpack识别,如何解决?分包异步化中的“跨分包 JS 代码引用”用法,是微信小程序重写了commonjs的require函数,语法也与通用的require语法不同,导致webpack无法解析微信小程序特殊的require函数(报错:Cannot statically analyse 'require(…, …)' in line 125),如何解决?(webpack支持解析的模块语法风格: ES6,CommonJS 和 AMD,见 https://webpack.docschina.org/api/module-methods/) // subPackageA/index.js // 使用回调函数风格的调用 require('../subPackageB/utils.js', utils => { console.log(utils.whoami) // Wechat MiniProgram }, ({mod, errMsg}) => { console.error(`path: ${mod}, ${errMsg}`) }) // 或者使用 Promise 风格的调用 require.async('../commonPackage/index.js').then(pkg => { pkg.getPackageName() // 'common' }).catch(({mod, errMsg}) => { console.error(`path: ${mod}, ${errMsg}`) })
10-18