uniModules.ts 582 字节
Newer Older
fxy060608's avatar
fxy060608 已提交
1 2
import type { Plugin } from 'vite'
import { UNI_MODULES_EXPORTS } from '../../constants'
fxy060608's avatar
fxy060608 已提交
3
import { genUniModulesExports } from '../../uni_modules'
fxy060608's avatar
fxy060608 已提交
4

5 6 7 8 9
export function uniModulesExportsPlugin({
  enable,
}: {
  enable: boolean
}): Plugin {
fxy060608's avatar
fxy060608 已提交
10 11 12 13 14 15 16 17 18 19 20
  return {
    name: 'uni:modules:exports',
    resolveId(id) {
      if (id === UNI_MODULES_EXPORTS) {
        return UNI_MODULES_EXPORTS
      }
    },
    load(id) {
      if (id !== UNI_MODULES_EXPORTS) {
        return
      }
21 22 23 24
      // 未启用
      if (!enable) {
        return ''
      }
fxy060608's avatar
fxy060608 已提交
25
      return genUniModulesExports()
fxy060608's avatar
fxy060608 已提交
26 27 28
    },
  }
}