前端代码
This commit is contained in:
76
node_modules/browser-sync/dist/server/index.js
generated
vendored
Normal file
76
node_modules/browser-sync/dist/server/index.js
generated
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
"use strict";
|
||||
var enableDestroy = require("server-destroy");
|
||||
var _ = require("../lodash.custom");
|
||||
/**
|
||||
* Browsersync server
|
||||
* Three available modes: Snippet, Server or Proxy
|
||||
*/
|
||||
module.exports.plugin = function (bs) {
|
||||
var debug = bs.debug;
|
||||
var proxy = bs.options.get("proxy");
|
||||
var type = bs.options.get("mode");
|
||||
var bsServer = createServer(bs);
|
||||
if (type === "server" || type === "snippet") {
|
||||
debug("Static Server running ({magenta:%s}) ...", bs.options.get("scheme"));
|
||||
}
|
||||
if (proxy) {
|
||||
debug("Proxy running, proxing: {magenta:%s}", proxy.get("target"));
|
||||
}
|
||||
if (bsServer) {
|
||||
/**
|
||||
* Allow server to be destroyed gracefully
|
||||
*/
|
||||
enableDestroy(bsServer.server);
|
||||
/**
|
||||
* Listen on the available port
|
||||
*/
|
||||
bsServer.server.listen(bs.options.get("port"), bs.options.get("listen"));
|
||||
/**
|
||||
* Hack to deal with https://github.com/socketio/socket.io/issues/1602#issuecomment-224270022
|
||||
*/
|
||||
bs.registerCleanupTask(function () {
|
||||
if (bs.io && bs.io.sockets) {
|
||||
setCloseReceived(bs.io.sockets);
|
||||
}
|
||||
if (bs.ui && bs.ui.socket) {
|
||||
setCloseReceived(bs.ui.socket);
|
||||
}
|
||||
});
|
||||
/**
|
||||
* Destroy the server on cleanup
|
||||
*/
|
||||
bs.registerCleanupTask(function () {
|
||||
bsServer.server.destroy();
|
||||
});
|
||||
}
|
||||
function setCloseReceived(io) {
|
||||
Object.keys(io.sockets).forEach(function (key) {
|
||||
_.set(io.sockets[key], "conn.transport.socket._closeReceived", true);
|
||||
});
|
||||
}
|
||||
debug("Running mode: %s", type.toUpperCase());
|
||||
return {
|
||||
server: bsServer.server,
|
||||
app: bsServer.app
|
||||
};
|
||||
};
|
||||
/**
|
||||
* Launch the server for serving the client JS plus static files
|
||||
* @param {BrowserSync} bs
|
||||
* @returns {{staticServer: (http.Server), proxyServer: (http.Server)}}
|
||||
*/
|
||||
function createServer(bs) {
|
||||
var proxy = bs.options.get("proxy");
|
||||
var server = bs.options.get("server");
|
||||
if (!proxy && !server) {
|
||||
return require("./snippet-server")(bs);
|
||||
}
|
||||
if (proxy) {
|
||||
return require("./proxy-server")(bs);
|
||||
}
|
||||
if (server) {
|
||||
return require("./static-server")(bs);
|
||||
}
|
||||
}
|
||||
module.exports.createServer = createServer;
|
||||
//# sourceMappingURL=index.js.map
|
Reference in New Issue
Block a user