原因
在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