Blame view

天文台pc/tianwentai-ui/node_modules/detect-node-es/Readme.md 871 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  ## detect-node
  > This is a fork of `detect-node`.
  
  Differences:
  - uses named export {isNode}
  - has d.ts integrated
  - supports ESM
  
  ### Install
  
  ```shell
  npm install --save detect-node-es
  ```
  
  ### Usage:
  
  ```diff
  -var isNode = require('detect-node');
  +var {isNode} = require('detect-node-es');
  
  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.