本人已踩過坑,望后來者能少走彎路,以下提供兩種解決方式:
1.直接修改源碼
在/node_modules/xlsx-style/dist/cpexcel.js
將 var cpt = require('./cpt' + 'able'); 改為 var cpt = cptable;
2.配置vue.config.js
xlsx-style需要依賴于cptable,但是這個很大而且只有特殊情況才會使用,所以我們可以在打包的時候排除他
chainWebpack(config) {
config.externals({ './cptable': 'var cptable' })
}
//完整的vue.config.js
module.exports = {
chainWebpack(config) {
config.externals({ './cptable': 'var cptable' })
}
}
這兩種方案,我推薦第二種,因為第一種直接去改源碼是很不好的,當(dāng)你改了源碼之后,npm中的源碼并沒有改,當(dāng)你下次在重新安裝依賴那么你又得改一次,很麻煩。而第二種對webpack配置一次就可以了。