From 4e793189b6593721a203767511e6ec39b1d3eca8 Mon Sep 17 00:00:00 2001 From: chenjiahan Date: Thu, 28 May 2020 15:18:52 +0800 Subject: [PATCH] fix(cli): register packageEntry failed --- packages/vant-cli/site/desktop/main.js | 2 +- packages/vant-cli/site/mobile/main.js | 13 ++++++++----- .../src/compiler/gen-site-mobile-shared.ts | 19 +++++++++---------- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/packages/vant-cli/site/desktop/main.js b/packages/vant-cli/site/desktop/main.js index 0b0619760..0e6974d07 100644 --- a/packages/vant-cli/site/desktop/main.js +++ b/packages/vant-cli/site/desktop/main.js @@ -2,4 +2,4 @@ import { createApp } from 'vue'; import App from './App'; import { router } from './router'; -createApp(App).use(router).mount('#app'); +window.app = createApp(App).use(router).mount('#app'); diff --git a/packages/vant-cli/site/mobile/main.js b/packages/vant-cli/site/mobile/main.js index 63da68116..59278dfbf 100644 --- a/packages/vant-cli/site/mobile/main.js +++ b/packages/vant-cli/site/mobile/main.js @@ -2,13 +2,16 @@ import { createApp } from 'vue'; import DemoBlock from './components/DemoBlock'; import DemoSection from './components/DemoSection'; import { router } from './router'; +import { packageEntry } from 'site-mobile-shared'; import App from './App'; import '@vant/touch-emulator'; +window.app = createApp(App) + .use(router) + .use(packageEntry) + .component(DemoBlock.name, DemoBlock) + .component(DemoSection.name, DemoSection); + setTimeout(() => { - createApp(App) - .use(router) - .component(DemoBlock.name, DemoBlock) - .component(DemoSection.name, DemoSection) - .mount('#app'); + window.app.mount('#app'); }, 0); diff --git a/packages/vant-cli/src/compiler/gen-site-mobile-shared.ts b/packages/vant-cli/src/compiler/gen-site-mobile-shared.ts index 2edddef05..f6ed5d483 100644 --- a/packages/vant-cli/src/compiler/gen-site-mobile-shared.ts +++ b/packages/vant-cli/src/compiler/gen-site-mobile-shared.ts @@ -17,8 +17,7 @@ type DemoItem = { }; function genInstall() { - return `import Vue from 'vue'; -import PackageEntry from './package-entry'; + return `import packageEntry from './package-entry'; import './package-style'; `; } @@ -26,7 +25,7 @@ import './package-style'; function genImports(demos: DemoItem[]) { return demos .map( - item => + (item) => `import ${item.name} from '${removeExt(normalizePath(item.path))}';` ) .join('\n'); @@ -34,22 +33,22 @@ function genImports(demos: DemoItem[]) { function genExports(demos: DemoItem[]) { return `export const demos = {\n ${demos - .map(item => item.name) + .map((item) => item.name) .join(',\n ')}\n};`; } function getSetName(demos: DemoItem[]) { return demos - .map(item => `${item.name}.name = 'demo-${item.component}';`) + .map((item) => `${item.name}.name = 'demo-${item.component}';`) .join('\n'); } function genConfig(demos: DemoItem[]) { const vantConfig = getVantConfig(); - const demoNames = demos.map(item => decamelize(item.name)); + const demoNames = demos.map((item) => decamelize(item.name)); function demoFilter(nav: any[]) { - return nav.filter(group => { + return nav.filter((group) => { group.items = group.items.filter((item: any) => demoNames.includes(item.path) ); @@ -73,17 +72,17 @@ function genConfig(demos: DemoItem[]) { function genCode(components: string[]) { const demos = components - .map(component => ({ + .map((component) => ({ component, name: pascalize(component), path: join(SRC_DIR, component, 'demo/index.vue'), })) - .filter(item => existsSync(item.path)); + .filter((item) => existsSync(item.path)); return `${genInstall()} ${genImports(demos)} -Vue.use(PackageEntry); +export { packageEntry }; ${getSetName(demos)}