Update vite.config.ts
This commit is contained in:
		
							parent
							
								
									9cbe878d0b
								
							
						
					
					
						commit
						72dfbfcf35
					
				
					 1 changed files with 37 additions and 0 deletions
				
			
		|  | @ -7,6 +7,35 @@ import pluginJson5 from './vite.json5'; | ||||||
| 
 | 
 | ||||||
| const extensions = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.json', '.json5', '.svg', '.sass', '.scss', '.css', '.vue']; | const extensions = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.json', '.json5', '.svg', '.sass', '.scss', '.css', '.vue']; | ||||||
| 
 | 
 | ||||||
|  | const hash = (str: string, seed = 0): number => { | ||||||
|  | 	let h1 = 0xdeadbeef ^ seed, | ||||||
|  | 		h2 = 0x41c6ce57 ^ seed; | ||||||
|  | 	for (let i = 0, ch; i < str.length; i++) { | ||||||
|  | 		ch = str.charCodeAt(i); | ||||||
|  | 		h1 = Math.imul(h1 ^ ch, 2654435761); | ||||||
|  | 		h2 = Math.imul(h2 ^ ch, 1597334677); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909); | ||||||
|  | 	h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909); | ||||||
|  | 	 | ||||||
|  | 	return 4294967296 * (2097151 & h2) + (h1 >>> 0); | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | const BASE62_DIGITS = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; | ||||||
|  | function toBase62(n: number): string { | ||||||
|  | 	if (n === 0) { | ||||||
|  | 		return '0'; | ||||||
|  | 	} | ||||||
|  | 	let result = '';  | ||||||
|  | 	while (n > 0) { | ||||||
|  | 		result = BASE62_DIGITS[n % BASE62_DIGITS.length] + result; | ||||||
|  | 		n = Math.floor(n / BASE62_DIGITS.length); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	return result; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| export default defineConfig(({ command, mode }) => { | export default defineConfig(({ command, mode }) => { | ||||||
| 	return { | 	return { | ||||||
| 		base: '/vite/', | 		base: '/vite/', | ||||||
|  | @ -27,6 +56,14 @@ export default defineConfig(({ command, mode }) => { | ||||||
| 			}, | 			}, | ||||||
| 		}, | 		}, | ||||||
| 
 | 
 | ||||||
|  | 		css: { | ||||||
|  | 			modules: { | ||||||
|  | 				generateScopedName: (name, filename, css) => { | ||||||
|  | 					return 'x' + toBase62(hash(`${filename} ${name}`)).substring(0, 4); | ||||||
|  | 				}, | ||||||
|  | 			}, | ||||||
|  | 		}, | ||||||
|  | 
 | ||||||
| 		define: { | 		define: { | ||||||
| 			_VERSION_: JSON.stringify(meta.version), | 			_VERSION_: JSON.stringify(meta.version), | ||||||
| 			_LANGS_: JSON.stringify(Object.entries(locales).map(([k, v]) => [k, v._lang_])), | 			_LANGS_: JSON.stringify(Object.entries(locales).map(([k, v]) => [k, v._lang_])), | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue