definePage.ts 733 字节
Newer Older
fxy060608's avatar
fxy060608 已提交
1
import { normalizeIdentifier, normalizePagePath } from '../../../utils'
fxy060608's avatar
fxy060608 已提交
2 3 4 5 6 7 8

export function definePageCode(pagesJson: Record<string, any>) {
  const importPagesCode: string[] = []
  const definePagesCode: string[] = []
  pagesJson.pages.forEach((page: UniApp.UniRoute) => {
    const pagePath = page.path
    const pageIdentifier = normalizeIdentifier(pagePath)
fxy060608's avatar
fxy060608 已提交
9 10 11 12 13 14 15
    const pagePathWithExtname = normalizePagePath(pagePath, 'app')
    if (pagePathWithExtname) {
      importPagesCode.push(
        `import ${pageIdentifier} from './${pagePathWithExtname}?mpType=page'`
      )
      definePagesCode.push(`__definePage('${pagePath}',${pageIdentifier})`)
    }
fxy060608's avatar
fxy060608 已提交
16 17 18
  })
  return importPagesCode.join('\n') + '\n' + definePagesCode.join('\n')
}