我试图在我的类星体上使用Dropzone-vue,但显然我不能简单地安装它并在main.js文件上声明它,因为类星体没有一个。我还得到以下错误:
Could not find a declaration file for module 'dropzone-vue'. 'c:/Users/me/Desktop/my-project/node_modules/dropzone-vue/dist/dropzone-vue.common.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/dropzone-vue` if it exists or add a new declaration (.d.ts) file containing `declare module 'dropzone-vue';`Vetur(7016)
我尝试了建议的命令,但它不支持,所以我把我的。d。我应该如何声明我所有的第三方模块?
带dropzone的组件如下:
<template>
<q-page padding>
DropZone
<div style="height: 500px; width: 500px; border: 1px solid red; position: relative;">
<drop-zone
:maxFiles="Number(10000000000)"
url="http://localhost:5000/item"
:uploadOnDrop="true"
:multipleUpload="true"
:parallelUpload="3"/>
</div>
</q-page>
</template>
<script lang="ts">
import { defineComponent } from 'vue'
import Dropzone from 'dropzone-vue';
export default defineComponent({
components: {
Dropzone,
},
setup() {
return {
};
},
})
</script>
这正是类星体引导文件设计的目的。
https://quasar.dev/quasar-cli/boot-files
查看文档,它应该可以帮助你解决这个问题。
例如,我是这样添加apexcharts
的// src/boot/apexcharts.js
import { boot } from 'quasar/wrappers';
import VueApexCharts from 'vue3-apexcharts';
export default boot(({ app }) => {
app.use(VueApexCharts);
});
然后将其添加到quasar.conf.js文件中:
boot: [
'apexcharts'
],
如果找不到d.ts
文件,则通常只能在/src/
目录下声明一个xxx.d.ts
文件,并在其中引入module
声明。
// /src/global.d.ts
declare module "dropzone-vue";