From 26105034da4fcce7ac883c899d781f016559310d Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 8 Nov 2018 00:38:48 +0800 Subject: switch to vuepress --- .../vue-style-loader/lib/addStylesServer.js | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 node_modules/vue-style-loader/lib/addStylesServer.js (limited to 'node_modules/vue-style-loader/lib/addStylesServer.js') diff --git a/node_modules/vue-style-loader/lib/addStylesServer.js b/node_modules/vue-style-loader/lib/addStylesServer.js new file mode 100644 index 00000000..e80492fb --- /dev/null +++ b/node_modules/vue-style-loader/lib/addStylesServer.js @@ -0,0 +1,80 @@ +import listToStyles from './listToStyles' + +export default function addStylesServer (parentId, list, isProduction, context) { + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + if (context) { + if (!context.hasOwnProperty('styles')) { + Object.defineProperty(context, 'styles', { + enumerable: true, + get: function() { + return renderStyles(context._styles) + } + }) + // expose renderStyles for vue-server-renderer (vuejs/#6353) + context._renderStyles = renderStyles + } + + var styles = context._styles || (context._styles = {}) + list = listToStyles(parentId, list) + if (isProduction) { + addStyleProd(styles, list) + } else { + addStyleDev(styles, list) + } + } +} + +// In production, render as few style tags as possible. +// (mostly because IE9 has a limit on number of style tags) +function addStyleProd (styles, list) { + for (var i = 0; i < list.length; i++) { + var parts = list[i].parts + for (var j = 0; j < parts.length; j++) { + var part = parts[j] + // group style tags by media types. + var id = part.media || 'default' + var style = styles[id] + if (style) { + if (style.ids.indexOf(part.id) < 0) { + style.ids.push(part.id) + style.css += '\n' + part.css + } + } else { + styles[id] = { + ids: [part.id], + css: part.css, + media: part.media + } + } + } + } +} + +// In dev we use individual style tag for each module for hot-reload +// and source maps. +function addStyleDev (styles, list) { + for (var i = 0; i < list.length; i++) { + var parts = list[i].parts + for (var j = 0; j < parts.length; j++) { + var part = parts[j] + styles[part.id] = { + ids: [part.id], + css: part.css, + media: part.media + } + } + } +} + +function renderStyles (styles) { + var css = '' + for (var key in styles) { + var style = styles[key] + css += '' + } + return css +} -- cgit v1.2.3