Skip to content

Conversation

@Sepush
Copy link
Collaborator

@Sepush Sepush commented Nov 17, 2025

fix #7306

前段时间我们的文档示例代码从 options 写法重构到了 script setup
之前对于 icon 的 import 我们在 script 里有显式的引用

<script lang="ts">
import { GameController, GameControllerOutline } from '@vicons/ionicons5'
import { defineComponent } from 'vue'

export default defineComponent({
  components: {
    GameController,
    GameControllerOutline
  },
  setup() {
    return {
      GameController
    }
  }
})
</script>

<template>
  <n-icon size="40">
    <GameControllerOutline />
  </n-icon>
  <n-icon size="40" color="#0e7a0d">
    <GameController />
  </n-icon>
  <n-icon size="40" :component="GameController" />
</template>
<script lang="ts" setup>
import { GameController, GameControllerOutline } from '@vicons/ionicons5'
</script>

<template>
  <n-icon size="40">
    <GameControllerOutline />
  </n-icon>
  <n-icon size="40" color="#0e7a0d">
    <GameController />
  </n-icon>
  <n-icon size="40" :component="GameController" />
</template>

迁移后只在template里存在引用 而我们的给 esbuild 的转换的只有 script 部分这会导致 esbuild 认为这是无用的代码做一些死代码消除,可以通过编译选项 verbatimModuleSyntax https://esbuild.github.io/content-types/#tsconfig-json 控制这一行为

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

【icon 文档】js 代码块缺少组件蹈入

1 participant