/** * 子线程 * @author yutent * @date 2023/06/14 16:15:39 */ import { parentPort, workerData } from 'node:worker_threads' import { compileFiles } from './compile.js' import { defaultCustomElement } from './utils.js' const { options, verbose, dist, imports } = workerData const { ABS_CONFIG_FILEPATH } = options const { compileOptions = {}, plugin = [] } = await import( ABS_CONFIG_FILEPATH ).then(r => r.default) const { isCustomElement = defaultCustomElement } = compileOptions options.isCustomElement = isCustomElement options.plugin = plugin // async function doJob(job) { let [currentPage, { page, files }] = job.entries().next().value options.IS_MPA && console.log( currentPage ? `正在生成 ${currentPage}.html ...` : '\n正在解析公共依赖 ...' ) await compileFiles(currentPage, page, files, options, { verbose, dist, imports }) parentPort.postMessage(true) } parentPort.on('message', doJob)