forked from sheetjs/sheetjs
…
|
||
---|---|---|
.. | ||
.gitignore | ||
app.js | ||
main.js | ||
Makefile | ||
README.md | ||
rollup.config.js | ||
rollup.config.node.js | ||
rollup.config.worker.js | ||
rollup.html | ||
xlsxworker.js |
Rollup
This library has a proper ESM build that is enabled by default:
import { read, utils } from 'xlsx';
This sample demonstrates a bundle for browser as well as for node.
This demo uses the import
form to expose the whole library, enabling client
code to access the library with import XLSX from 'xlsx'
. The JS code from
the root demo was moved to a separate app.js
script.
Required Plugins
The rollup-plugin-node-resolve
plugin is used:
import resolve from 'rollup-plugin-node-resolve';
export default {
/* ... */
plugins: [
resolve({
module: false, // <-- this library is not an ES6 module
browser: true, // <-- suppress node-specific features
})
],
/* ... */
};
For the browser deployments, the output format is 'iife'
. For node, the
output format is 'cjs'
.
Worker Scripts
Rollup can also bundle worker scripts! Instead of using importScripts
, the
worker script should import the module:
-importScripts('dist/xlsx.full.min.js');
+import * as XLSX from 'xlsx'; // or do named imports