You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							60 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							60 lines
						
					
					
						
							1.3 KiB
						
					
					
				| # SSR Window
 | |
| 
 | |
| Better handling for `window` and `documentt` object in SSR environment.
 | |
| 
 | |
| This library doesn't implement the DOM (like JSDOM), it just patches (or creates `window` and `document` objects) to avoid them to fail (throw errors) during server-side rendering.
 | |
| 
 | |
| Was created for use in:
 | |
| 
 | |
| - [Dom7](https://github.com/nolimits4web/dom7)
 | |
| - [Swiper](https://github.com/nolimits4web/swiper)
 | |
| - [Framework7](https://github.com/framework7io/framework7)
 | |
| 
 | |
| ## Installation
 | |
| 
 | |
| Library available on NPM:
 | |
| 
 | |
| ```
 | |
| npm i ssr-window
 | |
| ```
 | |
| 
 | |
| ## Usage
 | |
| 
 | |
| ```js
 | |
| import { window, document } from 'ssr-window';
 | |
| 
 | |
| window.addEventListener('resize', () => {});
 | |
| 
 | |
| const div = document.querySelectorAll('div');
 | |
| ```
 | |
| 
 | |
| ## Extending
 | |
| 
 | |
| If you rely on some window/document properties which are not included here, you can use `extend` helper to add them:
 | |
| 
 | |
| ```js
 | |
| import { window, document, extend } from 'ssr-window';
 | |
| 
 | |
| // add window.navigator.language
 | |
| extend(window, {
 | |
|   navigator: {
 | |
|     language: 'en',
 | |
|   },
 | |
| });
 | |
| 
 | |
| // add document.body
 | |
| extend(document, {
 | |
|   body: {
 | |
|     /* ... */
 | |
|   },
 | |
| });
 | |
| ```
 | |
| 
 | |
| ## Contribution
 | |
| 
 | |
| Yes please! See the [contributing guidelines](https://github.com/nolimits4web/ssr-window/blob/master/CONTRIBUTING.md) for details.
 | |
| 
 | |
| ## Licence
 | |
| 
 | |
| This project is licensed under the terms of the [MIT license](https://github.com/nolimits4web/ssr-window/blob/master/LICENSE).
 |