原因
在node環(huán)境中引入了一些包,用webpack打包后放在瀏覽器環(huán)境中,瀏覽器報(bào)錯(cuò)require is not defined。
這是因?yàn)閞equire是node環(huán)境下的CommonJs,而import是瀏覽器環(huán)境下的ESModule。ESModule不認(rèn)識require。
require是node的一個(gè)私有的全局方法。
解決方法
那就讓打包出來的代碼別有require,換句話說,webpack應(yīng)該打包出一個(gè)適用于ES6環(huán)境下的代碼。
只需在webpack.config.js
中,將原來的target: 'node'
改成target: 'web'
即可。
熱知識
export / export default + import ===》 ES6
module.exports / exports + require ===》CommonJS