前端代码
This commit is contained in:
73
node_modules/browser-sync/dist/file-watcher.js
generated
vendored
Normal file
73
node_modules/browser-sync/dist/file-watcher.js
generated
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
"use strict";
|
||||
var _ = require("./lodash.custom");
|
||||
var utils = require("./utils");
|
||||
var Rx = require("rx");
|
||||
/**
|
||||
* Plugin interface
|
||||
* @returns {*|function(this:exports)}
|
||||
*/
|
||||
module.exports.plugin = function (bs) {
|
||||
var options = bs.options;
|
||||
var emitter = bs.emitter;
|
||||
var defaultWatchOptions = options.get("watchOptions").toJS();
|
||||
return options.get("files").reduce(function (map, glob, namespace) {
|
||||
/**
|
||||
* Default CB when not given
|
||||
* @param event
|
||||
* @param path
|
||||
*/
|
||||
var fn = function (event, path) {
|
||||
emitter.emit("file:changed", {
|
||||
event: event,
|
||||
path: path,
|
||||
namespace: namespace
|
||||
});
|
||||
};
|
||||
var jsItem = glob.toJS();
|
||||
if (jsItem.globs.length) {
|
||||
var watcher = watch(jsItem.globs, defaultWatchOptions, fn);
|
||||
map[namespace] = {
|
||||
watchers: [watcher]
|
||||
};
|
||||
}
|
||||
if (jsItem.objs.length) {
|
||||
jsItem.objs.forEach(function (item) {
|
||||
if (!_.isFunction(item.fn)) {
|
||||
item.fn = fn;
|
||||
}
|
||||
var watcher = watch(item.match, item.options || defaultWatchOptions, item.fn.bind(bs.publicInstance));
|
||||
if (!map[namespace]) {
|
||||
map[namespace] = {
|
||||
watchers: [watcher]
|
||||
};
|
||||
}
|
||||
else {
|
||||
map[namespace].watchers.push(watcher);
|
||||
}
|
||||
});
|
||||
}
|
||||
return map;
|
||||
}, {});
|
||||
};
|
||||
/**
|
||||
* @param patterns
|
||||
* @param opts
|
||||
* @param cb
|
||||
* @returns {*}
|
||||
*/
|
||||
function watch(patterns, opts, cb) {
|
||||
if (typeof opts === "function") {
|
||||
cb = opts;
|
||||
opts = {};
|
||||
}
|
||||
var watcher = require("chokidar").watch(patterns, opts);
|
||||
if (_.isFunction(cb)) {
|
||||
watcher.on("all", cb);
|
||||
}
|
||||
// watcher.on('ready', () => {
|
||||
// console.log(watcher.getWatched());
|
||||
// });
|
||||
return watcher;
|
||||
}
|
||||
module.exports.watch = watch;
|
||||
//# sourceMappingURL=file-watcher.js.map
|
Reference in New Issue
Block a user