forked from sheetjs/sheetjs
		
	
		
			
	
	
		
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # SystemJS Demos
 | ||
|  | 
 | ||
|  | SystemJS supports both browser and nodejs deployments.  It does not recognize | ||
|  | browser environments and automatically suppress node core modules, but with some | ||
|  | configuration magic SystemJS can load the library. | ||
|  | 
 | ||
|  | ## Browser
 | ||
|  | 
 | ||
|  | SystemJS fails by default because the library does not export anything in the | ||
|  | web browser.  This is easily addressed in the config: | ||
|  | 
 | ||
|  | ```js | ||
|  | SystemJS.config({ | ||
|  | 	meta: { | ||
|  | 		'xlsx': { | ||
|  | 			exports: 'XLSX' // <-- tell SystemJS to expose the XLSX variable | ||
|  | 		} | ||
|  | 	}, | ||
|  | 	map: { | ||
|  | 		'xlsx': 'xlsx.full.min.js', // <-- make sure xlsx.full.min.js is in same dir | ||
|  | 		'fs': '',     // <--| | ||
|  | 		'crypto': '', // <--| suppress native node modules | ||
|  | 		'stream': ''  // <--| | ||
|  | 	} | ||
|  | }); | ||
|  | SystemJS.import('main.js') | ||
|  | ``` | ||
|  | 
 | ||
|  | In your main JS script, just use require: | ||
|  | 
 | ||
|  | ```js | ||
|  | var XLSX = require('xlsx'); | ||
|  | var w = XLSX.read('abc,def\nghi,jkl', {type:'binary'}); | ||
|  | var j = XLSX.utils.sheet_to_json(w.Sheets[w.SheetNames[0]], {header:1}); | ||
|  | console.log(j); | ||
|  | ``` | ||
|  | 
 | ||
|  | The file functions `readFile` and `writeFile` are not available in the browser. | ||
|  | 
 | ||
|  | ## Node
 | ||
|  | 
 | ||
|  | The node core modules should be mapped to their `@node` equivalents: | ||
|  | 
 | ||
|  | ```js | ||
|  | var SystemJS = require('systemjs'); | ||
|  | SystemJS.config({ | ||
|  | 	map: { | ||
|  | 		'xlsx': 'node_modules/xlsx/xlsx.js', | ||
|  | 		'fs': '@node/fs', | ||
|  | 		'crypto': '@node/crypto', | ||
|  | 		'stream': '@node/stream' | ||
|  | 	} | ||
|  | }); | ||
|  | ``` | ||
|  | 
 | ||
|  | And use is pretty straightforward: | ||
|  | 
 | ||
|  | ```js | ||
|  | SystemJS.import('xlsx').then(function(XLSX) { | ||
|  | 	/* XLSX is available here */ | ||
|  | 	var w = XLSX.readFile('test.xlsx'); | ||
|  | 	var j = XLSX.utils.sheet_to_json(w.Sheets[w.SheetNames[0]], {header:1}); | ||
|  | 	console.log(j); | ||
|  | }); | ||
|  | ``` | ||
|  | 
 |