Browse Source

types: 修复typescript编译报错

pull/32/head
kuangyaxing 3 years ago
parent
commit
52dd81dff4
  1. 15
      src/packages/base-widgets/index.ts
  2. 16
      src/packages/container-component/index.ts
  3. 11
      src/visual-editor/components/left-aside/components/index.ts

15
src/packages/base-widgets/index.ts

@ -1,12 +1,23 @@
import { VisualEditorComponent } from '@/visual-editor/visual-editor.utils';
const modules = import.meta.globEager('./*/index.tsx');
const modules = import.meta.globEager('./*/index.tsx') as Record<
string,
undefined | { default: VisualEditorComponent } | VisualEditorComponent
>;
type DefaultModule = { default: VisualEditorComponent };
const components: Record<string, VisualEditorComponent> = {};
Object.entries(modules).forEach(([key, module]) => {
const name = key.replace(/\.\/(.*)\/index\.(tsx|vue)/, '$1');
components[name] = module?.default || module;
if (module) {
if (Object.prototype.hasOwnProperty.call(module, 'default')) {
components[name] = (module as DefaultModule).default;
} else {
components[name] = module as VisualEditorComponent;
}
}
});
console.log(components, 'base-widgets');

16
src/packages/container-component/index.ts

@ -1,12 +1,24 @@
import { VisualEditorComponent } from '@/visual-editor/visual-editor.utils';
const modules = import.meta.globEager('./*/index.tsx');
const modules = import.meta.globEager('./*/index.tsx') as Record<
string,
undefined | { default: VisualEditorComponent } | VisualEditorComponent
>;
type DefaultModule = { default: VisualEditorComponent };
const components: Record<string, VisualEditorComponent> = {};
Object.keys(modules).forEach((key: string) => {
const name = key.replace(/\.\/(.*)\/index\.(tsx|vue)/, '$1');
components[name] = modules[key]?.default || modules[key];
const module = modules[key];
if (module) {
if (Object.prototype.hasOwnProperty.call(module, 'default')) {
components[name] = (module as DefaultModule).default;
} else {
components[name] = module as VisualEditorComponent;
}
}
});
console.log(components, 'container-component');

11
src/visual-editor/components/left-aside/components/index.ts

@ -1,14 +1,19 @@
import { DefineComponent } from 'vue';
const modules = import.meta.globEager('./*/index.(tsx|vue)');
const modules = import.meta.globEager('./*/index.(tsx|vue)') as Record<
string,
undefined | { default: DefineComponent }
>;
const components: Record<string, DefineComponent> = {};
console.log(modules, '起航');
for (const path in modules) {
const comp = modules[path].default;
components[comp.name || path.split('/')[1]] = comp;
const comp = modules[path]?.default;
if (comp) {
components[comp.name || path.split('/')[1]] = comp;
}
}
console.log('left-aside components:', components);

Loading…
Cancel
Save