added dynamical import of components via vite

This commit is contained in:
Samuel Andert
2023-07-22 09:29:40 +02:00
parent 01c742e6ce
commit 1ba7a9a28b
7 changed files with 53 additions and 69 deletions

View File

@ -1,8 +1,9 @@
import LitStatus from '$lib/LitStatus.svelte';
import Composite from '$lib/components/Composite.svelte';
import componentNames from 'virtual:components-list';
const components = {
"LitStatus": LitStatus,
};
const components = {};
export default components;
componentNames.forEach(name => {
components[name] = () => import(`$lib/components/${name}.svelte`);
});
export default components;

View File

@ -4,9 +4,8 @@
export let name = '';
async function getComponent(componentName) {
if (components[componentName]) return components[componentName];
if (componentName === 'Composite') {
const module = await import('$lib/components/Composite.svelte');
if (components[componentName]) {
const module = await components[componentName]();
return module.default;
}
return null;
@ -26,5 +25,3 @@
{/if}
{/await}
{/each}
<p>Composite: {name}</p>

View File

@ -2,7 +2,7 @@
<script>
import { onMount } from 'svelte';
import Lit from '../lib/lit';
import Lit from '../lit';
let networkStatus = 'Disconnected';
let isNetworkLoading = true;

View File

@ -1,5 +1,5 @@
<script>
import LitStatus from '$lib/LitStatus.svelte';
import LitStatus from '$lib/components/LitStatus.svelte';
import AuthSign from '$lib/AuthSig.svelte';
import Wallet from '$lib/Wallet.svelte';
import Send from '$lib/Send.svelte';
@ -14,12 +14,17 @@
{
id: 2,
componentName: 'Composite',
name: 'Nested Composite 1',
name: 'Nested Composite',
components: [
{
id: 3,
componentName: 'LitStatus',
name: 'Leaf 2'
name: 'LitStatus'
},
{
id: 4,
componentName: 'MessageInput',
name: 'MessageInput'
}
]
}