vue项目中无法使用nodejs内置模块 | 我的日常分享

vue项目中无法使用nodejs内置模块

vue项目中无法使用nodejs内置模块

1、问题描述

在定义接口加解密工具类时,引用nodejs内置crypto模块时,报错

1
2
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

image-20230106172324865

2、解决

原因是由于在webpack5中移除了nodejs核心模块的polyfill自动引入,所以需要手动引入.

网上搜到的全是webpack如何修改配置。但是这个项目是vue create创建的项目。

于是一顿操作在vue.config.js中添加如下配置即可。

yarn add node-polyfill-webpack-plugin

1
2
3
4
const NodePolyfillPlugin = require('node-polyfill-webpack-plugin')
configureWebpack: {
plugins: [new NodePolyfillPlugin()]
}

image-20230106173554934

成功运行使用

image-20230106173611706