diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:38:48 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 21:53:09 +0800 |
| commit | 26105034da4fcce7ac883c899d781f016559310d (patch) | |
| tree | c459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/css-loader/lib/localsLoader.js | |
| parent | 2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff) | |
| download | xmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip | |
switch to vuepress
Diffstat (limited to 'node_modules/css-loader/lib/localsLoader.js')
| -rw-r--r-- | node_modules/css-loader/lib/localsLoader.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/node_modules/css-loader/lib/localsLoader.js b/node_modules/css-loader/lib/localsLoader.js new file mode 100644 index 00000000..73d5757a --- /dev/null +++ b/node_modules/css-loader/lib/localsLoader.js @@ -0,0 +1,49 @@ +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +var loaderUtils = require("loader-utils"); +var processCss = require("./processCss"); +var getImportPrefix = require("./getImportPrefix"); +var compileExports = require("./compile-exports"); +var createResolver = require("./createResolver"); + + +module.exports = function(content) { + if(this.cacheable) this.cacheable(); + var callback = this.async(); + var query = loaderUtils.getOptions(this) || {}; + var moduleMode = query.modules || query.module; + var camelCaseKeys = query.camelCase || query.camelcase; + var resolve = createResolver(query.alias); + + processCss(content, null, { + mode: moduleMode ? "local" : "global", + query: query, + minimize: this.minimize, + loaderContext: this, + resolve: resolve + }, function(err, result) { + if(err) return callback(err); + + // for importing CSS + var importUrlPrefix = getImportPrefix(this, query); + + function importItemMatcher(item) { + var match = result.importItemRegExp.exec(item); + var idx = +match[1]; + var importItem = result.importItems[idx]; + var importUrl = importUrlPrefix + importItem.url; + return "\" + require(" + loaderUtils.stringifyRequest(this, importUrl) + ")" + + "[" + JSON.stringify(importItem.export) + "] + \""; + } + + var exportJs = compileExports(result, importItemMatcher.bind(this), camelCaseKeys); + if (exportJs) { + exportJs = "module.exports = " + exportJs + ";"; + } + + + callback(null, exportJs); + }.bind(this)); +}; |
