therufa / mdi-vue

Material design icons for vue.js
https://www.npmjs.com/package/mdi-vue
MIT License
88 stars 13 forks source link

vue3+typescript cannot be used #61

Closed zatsunen closed 3 years ago

zatsunen commented 3 years ago

main.ts prompt: "MDI: Icon mdi-vue not found"

main.js : import mdiVue from 'mdi-vue/types/v3' import * as mdiJs from '@mdi/js'

createApp(app) .use(mdiVue, { icons: mdiJs })

build output: This dependency was not found:

To install it, you can run: npm install --save mdi-vue/types/v3

larescze commented 3 years ago

Or you can declare the module in the shims-vue.d.ts file or other .d.ts file.

declare module 'mdi-vue/v3'

Example shims-vue.d.ts:

declare module '*.vue' {
  import { DefineComponent } from 'vue'
  const component: DefineComponent<{}, {}, any>
  export default component
}
declare module 'mdi-vue/v3'
declare module 'vuedraggable/src/vuedraggable'
declare module 'vue3-markdown-it'
zatsunen commented 3 years ago

Or you can declare the module in the shims-vue.d.ts file or other .d.ts file.

declare module 'mdi-vue/v3'

Example shims-vue.d.ts:

declare module '*.vue' {
  import { DefineComponent } from 'vue'
  const component: DefineComponent<{}, {}, any>
  export default component
}
declare module 'mdi-vue/v3'
declare module 'vuedraggable/src/vuedraggable'
declare module 'vue3-markdown-it'

Excellent,thank you so much