diff --git a/package.json b/package.json index 7ddda1a9..d2a8fd37 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "dvcp-vite-webapps", "private": false, "version": "0.0.0", + "main": "lib/dvcp-vite-webapps.umd.js", "scripts": { "dev": "vite", "preview": "vite preview", diff --git a/packages/index.js b/packages/index.js index fb1360cc..5fca1e27 100644 --- a/packages/index.js +++ b/packages/index.js @@ -10,27 +10,22 @@ const install = function (Vue, params) { if (install.installed) return // 遍历注册全局组件 let apps = [] - let contexts = require.context('.', true, /\.(\/.+)\/App[^\/]+\.vue$/) + let contexts = import.meta.glob('./**/App*.vue') if (contexts) { - contexts.keys().map(e => { - if (contexts(e).default) { - if (params?.apps) { - if (params?.apps.includes(contexts(e).default.name)) { - apps.push(contexts(e).default) - Vue.component(contexts(e).default.name, contexts(e).default) - } - } else { - apps.push(contexts(e).default) - Vue.component(contexts(e).default.name, contexts(e).default) - } + Object.keys(contexts).map(path => { + if (/App[A-Z]\w+\.vue/.test(path)) { + return contexts?.[path]()?.then(file => { + apps.push(file.default) + return Vue.component(file.default.name, file.default) + }) } }) - !!params?.showList && console.log(apps.map(e => e.name)) } core?.map(app => { apps.push(app.component) Vue.component(app.name, app.component) }) + !!params?.showList && console.log(apps.map(e => e.name)) return Promise.resolve(apps) } diff --git a/vite.config.js b/vite.config.js index 015acb93..78fe5a15 100644 --- a/vite.config.js +++ b/vite.config.js @@ -44,7 +44,8 @@ export default defineConfig({ build: { lib: { entry: path.resolve(__dirname, 'packages/index.js'), - name:"dvcp-vite-webapps" - } + name: "dvcp-vite-webapps", + }, + chunkSizeWarningLimit: 2048 } })