webpack 如何在VueCLI 3 Web应用程序上动态加载node_module软件包

lvmkulzt  于 2022-12-19  发布在  Webpack
关注(0)|答案(1)|浏览(222)

我正在与VueCLI项目,在这个项目中有一个特定的付款页面,需要一定的加密。我使用的'jssencrypt' npm包。
我想加载此软件包时,只有用户在页面中,而不是永远用户进入Web应用程序。
我已经尝试过fallowing this教程,它告诉我导入模块如下:

const jsencrypt = () => import('jsencrypt');

代替

import jsencrypt from 'jsencrypt';

本教程结束后,我注意到Webpack包结果中添加了一个新块

然而,我无法使用“jsencrypt”,当我使用它时,我得到了以下错误:
类型错误:i.setPublicKey不是函数
新的块没有加载到我的应用程序上,只有前两个:

为了动态加载这个模块,我错过了什么?

wooyq4lh

wooyq4lh1#

我认为这是关于你如何尝试调用模块,dyncamic声明是正确的!
我得到这样的错误时,声明和调用它这样:

const jsencrypt = () => import('jsencrypt')

jsencrypt.doSomeThing()

但正确的方法是这样声明和调用:

const getJsencrypt = () => import('jsencrypt')

getJsencrypt().then((jsencrypt) => jsencrypt.doSomeThing())

相关问题