报错信息如下
复现步骤为:
- 启用小程序【使用 npm 模块】
- 安装依赖 yarn add decrypt-core
- 工具>构建 npm
- 页面代码中使用 const { encrypt } = require('decrypt-core'); encrypt('12311', '123');
- 编译项目进入页面就报错
目前跟踪到的线索有:
- decrypt-core 库被小程序开发工具构建 npm 之后 miniprogram_npm/decrypt-core/index.js 文件中有对第三方 npm 包的引用,见下图,报错也是说这个包找不到
- 使用 vant-weapp 正常,也看了miniprogram_nnpm/@vant/ 中的文件内容没有使用 require 引入外部第三方包,因此怀疑是否是小程序构建 npm 之后的文件中不能使用第三方 npm 包,只能引入本地包
最后,猜测是否需要 decrypt-core 这个 npm 包,修改 main 指向的入口文件或者使用 miniprogram 指向的入口文件,将第三方包打包进来?
先npm init 或者npm init -y 初始化,然后npm i ,然后勾选使用npm模块再构建npm
此问题已修复,更新 decrypt-core 为最新版(>=v1.1.4)
具体原因:
解决方案:
之前的临时解决方案是:手动拷贝 crypto-js 包内容到 miniprogram_npm 目录下
最佳解决方案如下: