1***@qq.com
1***@qq.com
  • 发布:2020-03-10 16:11
  • 更新:2024-08-13 15:18
  • 阅读:4486

【已解决】uni-app 小程序项目引入 node-forge 模块,编译的支付宝小程序报错

分类:uni-app

使用 vue-cli 命令行创建 [看图模块] 项目,编译成微信和支付宝小程序能正常跑

项目引入了 node-forge 加密模块:npm install --save node-forge@0.7.6

编译的微信小程序能正常跑,
支付宝小程序运行报错:Cannot read property 'createElement' of undefined

2020-03-10 16:11 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com (作者)

感觉和 Babel 的配置有关,有遇到过类似问题的吗?

1***@qq.com

1***@qq.com (作者)

原因: node-forge 模块是为 node 项目编写的模块,在小程序端引用时,缺少 node 相关全局变量会报错

解决: 在 vue.config.js 文件中,对 webpacknode 选项进行配置

这些选项可以配置是否 polyfill 或 mock 某些 Node.js 全局变量和模块。这可以使最初为 Node.js 环境编写的代码,在其他环境(如浏览器)中运行

module.exports = {  
    chainWebpack: config => {  
        config.node  
              .set('setImmediate', true)  
    },  
}

参考资料:
Webpack node-setimmediate
vue.config.js 说明

2***@qq.com

2***@qq.com

情况:我在使用node-forge模块时,在uniapp中引用,在运行到手机时候,会报错?请问一下是否遇到过?

  • YYDSYY

    请问这个问题解决了嘛

    2021-09-08 10:40

3***@qq.com

3***@qq.com

我也在uni-app中,引入node-forge后报错。
TypeError: Cannot read property 'crypto' of undefined
at random.js?4a73:119
at random.js?4a73:30
at Object.<anonymous> (random.js?4a73:22)
at s (runtime.js:80)
at Object.<anonymous> (pbe.js?44f3:28)
at s (runtime.js:80)
at Object.<anonymous> (pki.js?0c52:12)
at s (runtime.js:80)
at Object.<anonymous> (tls.js?fb2c:238)
at s (runtime.js:80)
楼主知道怎么回事吗?感谢

  • 2***@qq.com

    我也遇到这个问题了,怎么解决?

    2022-03-14 14:49

  • 2***@qq.com

    node-forge@0.7.6这个版本是ok的,想不通

    2022-03-14 16:08

  • 1***@qq.com

    回复 2***@qq.com: 可以解决嘛?这个问题

    2022-10-08 18:15

1***@qq.com

1***@qq.com

哪位大佬知道TypeError: Cannot read property 'crypto' of undefined?这个怎么解决,求

l***@qq.com

l***@qq.com

谢谢!

  • 1***@qq.com

    请问一下怎么解决的

    2023-11-17 10:20

8***@qq.com

8***@qq.com

同问TypeError: Cannot read property 'crypto' of undefined
at random.js?4a73:119
at random.js?4a73:30
at Object.<anonymous> (random.js?4a73:22)
at s (runtime.js:80)
at Object.<anonymous> (pbe.js?44f3:28)
at s (runtime.js:80)
at Object.<anonymous> (pki.js?0c52:12)
at s (runtime.js:80)
at Object.<anonymous> (tls.js?fb2c:238)
at s (runtime.js:80)

要回复问题请先登录注册