From f144a6e2cdaa3800c746c1ca8fb296b719b9b4c0 Mon Sep 17 00:00:00 2001 From: chenjiahan Date: Sun, 5 Sep 2021 12:39:35 +0800 Subject: [PATCH] perf: dynamic import markdown file --- packages/vant-cli/site/desktop/main.js | 2 -- .../src/compiler/gen-site-desktop-shared.ts | 18 +++++++----------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/packages/vant-cli/site/desktop/main.js b/packages/vant-cli/site/desktop/main.js index 2d30ae9ed..a3fada412 100644 --- a/packages/vant-cli/site/desktop/main.js +++ b/packages/vant-cli/site/desktop/main.js @@ -1,12 +1,10 @@ import { createApp } from 'vue'; -import { packageEntry } from 'site-desktop-shared'; import App from './App.vue'; import DemoPlayground from './components/DemoPlayground.vue'; import { router } from './router'; window.app = createApp(App) .use(router) - .use(packageEntry) .component(DemoPlayground.name, DemoPlayground); setTimeout(() => { diff --git a/packages/vant-cli/src/compiler/gen-site-desktop-shared.ts b/packages/vant-cli/src/compiler/gen-site-desktop-shared.ts index a9e61e512..a67430507 100644 --- a/packages/vant-cli/src/compiler/gen-site-desktop-shared.ts +++ b/packages/vant-cli/src/compiler/gen-site-desktop-shared.ts @@ -79,7 +79,12 @@ function resolveDocuments(components: string[]): DocumentItem[] { function genImportDocuments(items: DocumentItem[]) { return items - .map((item) => `import ${item.name} from '${normalizePath(item.path)}';`) + .map( + (item) => + `const ${ + item.name + } = defineAsyncComponent(() => import('${normalizePath(item.path)}'));` + ) .join('\n'); } @@ -102,24 +107,15 @@ function genExportVersion() { return `export const packageVersion = '${getPackageJson().version}';`; } -function genInstall() { - return `import './package-style.less';`; -} - -function genExportPackageEntry() { - return `export { default as packageEntry } from './package-entry';`; -} - export function genSiteDesktopShared() { const dirs = readdirSync(SRC_DIR); const documents = resolveDocuments(dirs); - const code = `${genInstall()} + const code = `import { defineAsyncComponent } from 'vue'; ${genImportDocuments(documents)} ${genVantConfigContent()} -${genExportPackageEntry()} ${genExportConfig()} ${genExportDocuments(documents)} ${genExportVersion()}