typescript - Vue+Vite 的多个默认导出错误

标签 typescript vuejs3 vite arcgis-js-api

我正在使用 Vue 并使用 Vite 和 typescript。我遇到过这个问题,我收到这个错误,上面写着“一个模块不能有多个默认的导出.ts(2528)”。

<script setup lang="ts">
import { defineCustomElements } from "@esri/calcite-components/dist/loader";
import Search from "@arcgis/core/widgets/Search";

defineCustomElements();

export default {
  mounted() {
    const search = new Search({
      container: this.$refs.search as HTMLElement,
    });
  },
};
</script>

<template>
  <div class="search-container" ref="search"></div>
</template>

<style scoped>
.search-container {
  width: 100%;
}
</style>
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import copy from "rollup-plugin-copy";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    copy({
      // copy over the arcgis cores assets
      targets: [
        {
          src: "node_modules/@arcgis/core/assets/",
          dest: "public/",
        },
      ],
    }),
  ],
});

如何在我的 vue 代码中正确使用导出默认值?除了适用于 vue+vite+typescript 的代码之外,一个简单的示例也对我的理解有所帮助

我还尝试使用关键字进行导出,但这也不起作用。我还尝试在 VScode 中重新启动并禁用 TypeScript 服务。这是我的 vue 代码和配置 ts 文件。

最佳答案

如果您使用<script setup> 你不需要导出它。因为它已经被vue3导出了。只需删除 export default {} 并尝试

  onMounted(() => {
    // your code here
  });

引用文档:https://vuejs.org/api/composition-api-lifecycle.html#onmounted

关于typescript - Vue+Vite 的多个默认导出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76748847/

相关文章:

html - Angular - 类型错误 : Cannot read property 'name' of undefined

javascript - 可观察到的 `of` 已弃用。什么是等价物?

vue.js - 使用 VITE + Vue3 - [Vue 警告] : Component is missing template or render function

angular - 如何嵌套包裹在 APP_INITIALIZER 中的 httpclient 调用

typescript - 条件类型与可选属性不能很好地配合

typescript - Vue 3 如何传递一个可选的 bool Prop ?

vue.js - 如何在 Vue Meta 3 中创建自定义元标签?

html - 内联样式 Vue 3 未访问变量

javascript - Vue3 : injection "Symbol(pinia)" not found

typescript - 如何配置 vite/rollup 以从我的客户端代码中排除 firebase-admin?