This library is built with some dynamic logic to determine if it is invoked in a script tag or in nodejs. Webpack does not understand those feature tests, so by default it will do some strange things.
The library properly guards against accidental leakage of node features in the browser but webpack disregards those. The config should explicitly suppress:
node: {
fs: false,
process: false,
Buffer: false
}
This library will not assign to module.exports if it is run in the browser. To
convince webpack, set output
in the webpack config:
output: {
libraryTarget: 'var',
library: 'XLSX'
}
The codepage
is needed in certain special cases, including files generated by
non-US-English versions of Excel, but may not be needed. To reduce build size,
the module can be omitted by aliasing the dependency:
resolve: {
alias: { "./dist/cpexcel.js": "" }
},