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.
		
		
		
		
			
				
					31 lines
				
				691 B
			
		
		
			
		
	
	
					31 lines
				
				691 B
			| 
								 
											4 years ago
										 
									 | 
							
								### Install
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```shell
							 | 
						||
| 
								 | 
							
								npm install --save detect-node
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Usage:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								var isNode = require('detect-node');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (isNode) {
							 | 
						||
| 
								 | 
							
								  console.log("Running under Node.JS");
							 | 
						||
| 
								 | 
							
								} else {
							 | 
						||
| 
								 | 
							
								  alert("Hello from browser (or whatever not-a-node env)");
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The check is performed as:
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								module.exports = false;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Only Node.JS has a process variable that is of [[Class]] process
							 | 
						||
| 
								 | 
							
								try {
							 | 
						||
| 
								 | 
							
								 module.exports = Object.prototype.toString.call(global.process) === '[object process]' 
							 | 
						||
| 
								 | 
							
								} catch(e) {}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Thanks to Ingvar Stepanyan for the initial idea. This check is both **the most reliable I could find** and it does not use `process` env directly, which would cause browserify to include it into the build.
							 |