Miao-Yunzai/src/utils/module.ts

56 lines
839 B
TypeScript
Raw Normal View History

import { createRequire as cRequire } from 'module'
import path from 'path'
2024-06-16 01:26:34 +08:00
const CustomExtensions = [
//
'.css',
//
'.apng',
'.png',
'.jpg',
'.jpeg',
'.jfif',
'.pjpeg',
'.pjp',
'.gif',
'.svg',
'.ico',
'.webp',
'.avif',
'.mp4',
'.webm',
'.ogg',
'.mp3',
'.wav',
'.flac',
'.aac',
'.opus',
'.mov',
'.m4a',
'.vtt',
'.woff',
'.woff2',
'.eot',
'.ttf',
'.otf'
]
/**
*
* @param basePath
2024-06-16 01:26:34 +08:00
* @param customExtensions
* @returns
*/
export function createRequire(
2024-06-16 00:20:45 +08:00
basePath: string,
2024-06-16 01:26:34 +08:00
customExtensions = CustomExtensions
) {
const require = cRequire(basePath)
2024-06-16 01:26:34 +08:00
for (const ext of customExtensions) {
require.extensions[ext] = (module, filename) => {
module.exports = path.resolve(filename)
}
2024-06-16 01:26:34 +08:00
}
return require
}