原因

在node环境中引入了一些包,用webpack打包后放在浏览器环境中,浏览器报错require is not defined

这是因为require是node环境下的CommonJs,而import是浏览器环境下的ESModule。ESModule不认识require。
require是node的一个私有的全局方法。

解决方法

那就让打包出来的代码别有require,换句话说,webpack应该打包出一个适用于ES6环境下的代码。

只需在webpack.config.js中,将原来的target: 'node'改成target: 'web'即可。

热知识

export / export default + import ===》 ES6
module.exports / exports + require ===》CommonJS