跳至正文

【微信小程序】从 npm 引入 crypto-js 时提示依赖异常的解决方法

crypto-js 安装

crypto-js 是一个纯 javascript 写的加密算法类库 ,可以非常方便地在 javascript 进行 MD5、SHA1、SHA2、SHA3、RIPEMD-160 哈希散列,进行 AES、DES、Rabbit、RC4、Triple DES 加解密。
我们可以采用 npm install crypto-js 进行下载安装:

npm install crypto-js

GitHub: brix/crypto-js: JavaScript library of crypto standards. (github.com)

使用步骤

1、引入库

const CryptoJS = require('crypto-js');

微信小程序提示依赖异常

[代码依赖分析] 找到 1 个依赖异常情况,可能会导致对应文件无法加载,请检查。
Couldn't resolve the Js file "crypto" relative to "/miniprogram_npm/crypto-js/index.js`:0:0`"

如需关闭依赖分析请在 project.config.json setting 字段中增加 "ignoreDevUnusedFiles": false 和 "ignoreUploadUnusedFiles": false

报错原因

crypto-js 在运行时会尝试引入Node.js 内建的 crypto 库,这一举动被开发工具误以为是未知的依赖调用。

解决方法

移除构建npm时生成的外部依赖项即可。

1. 找到并打开“/miniprogram_npm/crypto-js/index.js”文件。

2. 查看文件底部,将 “miniprogram-npm-outsideDeps” 中的 “crypto” 移除。

3. 保存文件,代码依赖分析不再提示警告信息。

注:执行npm构建后需要重新修改。