执行过npm install命令的vue-element-admin源码
康凯
2022-05-20 aa4c235a8ca67ea8b731f90c951a465e92c0a865
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
40
'use strict';
 
const NodeWatcher = require('./src/node_watcher');
const PollWatcher = require('./src/poll_watcher');
const WatchmanWatcher = require('./src/watchman_watcher');
const WatchexecWatcher = require('./src/watchexec_watcher');
 
function throwNoFSEventsSupports() {
  throw new Error('Sane >= 4 no longer support the fsevents module.');
}
 
function sane(dir, options) {
  options = options || {};
  if (options.watcher) {
    const WatcherClass = require(options.watcher);
    return new WatcherClass(dir, options);
  } else if (options.poll) {
    return new PollWatcher(dir, options);
  } else if (options.watchman) {
    return new WatchmanWatcher(dir, options);
  } else if (options.watchexec) {
    return new WatchexecWatcher(dir, options);
  } else if (options.fsevents) {
    throwNoFSEventsSupports();
  } else {
    return new NodeWatcher(dir, options);
  }
}
 
module.exports = sane;
sane.NodeWatcher = NodeWatcher;
sane.PollWatcher = PollWatcher;
sane.WatchmanWatcher = WatchmanWatcher;
sane.WatchexecWatcher = WatchexecWatcher;
 
Object.defineProperty(sane, 'FSEventsWatcher', {
  get() {
    return throwNoFSEventsSupports();
  },
});