Blame view

node_modules/css-loader/lib/createResolver.js 736 Bytes
aaac7fed   liuqimichale   add
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
  module.exports = function createResolver(alias) {
  	if(typeof alias !== "object" || Array.isArray(alias)) {
  		return function(url) {
  			return url
  		};
  	}
  
  	alias = Object.keys(alias).map(function(key) {
  		var onlyModule = false;
  		var obj = alias[key];
  		if(/\$$/.test(key)) {
  			onlyModule = true;
  			key = key.substr(0, key.length - 1);
  		}
  		if(typeof obj === "string") {
  			obj = {
  				alias: obj
  			};
  		}
  		obj = Object.assign({
  			name: key,
  			onlyModule: onlyModule
  		}, obj);
  		return obj;
  	});
  
  	return function(url) {
  		alias.forEach(function(obj) {
  			var name = obj.name;
  			if(url === name || (!obj.onlyModule && url.startsWith(name + "/"))) {
  				url = obj.alias + url.substr(name.length);
  			}
  		});
  		return url;
  	}
  }