Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't auto import component as PascalCase when use script lang="tsx" in SFC #26920

Open
chenweiyi opened this issue Apr 24, 2024 · 6 comments
Open

Comments

@chenweiyi
Copy link

Environment

  • Operating System: Darwin
  • Node Version: v18.15.0
  • Nuxt Version: 3.11.1
  • CLI Version: 3.11.0
  • Nitro Version: 2.9.4
  • Package Manager: pnpm@8.15.3
  • Builder: -
  • User Config: devtools, ssr, modules, unpluginHttpsReverseProxy, router, devServer, vite
  • Runtime Modules: @element-plus/nuxt@1.0.7, @unocss/nuxt@0.58.6, unplugin-https-reverse-proxy/nuxt, unplugin-icons/nuxt, @pinia/nuxt@0.5.1, dayjs-nuxt@2.1.9
  • Build Modules: -

Reproduction

image
image

Describe the bug

I use some element-plus component when I use tsx in SFC, but vscode ts-plugin error: ‘Can't find name "ElInput"'

when I manual import component like this import { ElButton, ElInput, ElOption, ElSelect } from '#build/components'; , then It is work.

Additional context

No response

Logs

No response

Copy link
Contributor

Would you be able to provide a reproduction? 🙏

More info

Why do I need to provide a reproduction?

Reproductions make it possible for us to triage and fix issues quickly with a relatively small team. It helps us discover the source of the problem, and also can reveal assumptions you or we might be making.

What will happen?

If you've provided a reproduction, we'll remove the label and try to reproduce the issue. If we can, we'll mark it as a bug and prioritize it based on its severity and how many people we think it might affect.

If needs reproduction labeled issues don't receive any substantial activity (e.g., new comments featuring a reproduction link), we'll close them. That's not because we don't care! At any point, feel free to comment with a reproduction and we'll reopen it.

How can I create a reproduction?

We have a couple of templates for starting with a minimal reproduction:

👉 https://stackblitz.com/github/nuxt/starter/tree/v3-stackblitz
👉 https://codesandbox.io/s/github/nuxt/starter/v3-codesandbox

A public GitHub repository is also perfect. 👌

Please ensure that the reproduction is as minimal as possible. See more details in our guide.

You might also find these other articles interesting and/or helpful:

@chenweiyi
Copy link
Author

reproduction url : https://github.com/chenweiyi/mini-nuxt-repo

Additional explanation:

  1. When I reference the components of element-plus in the lang=tsx file using PascalCase, vscode ts prompts that the component does not exist, but it does not affect normal operation.
  2. When I change the component from PascalCase to kebab-case in the lang=tsx file, there are no ts type errors, and the page works normally.

By the way, I would like to ask, in react tsx, component names need to be capitalized, but is there no such restriction in vue tsx?

image
image

@manniL
Copy link
Member

manniL commented Apr 25, 2024

@chenweiyi is this reproducible without any nuxt module too?

@chenweiyi
Copy link
Author

Sorry, Do you mean this?

image

@manniL
Copy link
Member

manniL commented Apr 25, 2024

@chenweiyi yes, please remove any modules not needed to reproduce the problem if possible ☺️

@chenweiyi
Copy link
Author

Ok, I have now removed all the modules and unnecessary dependencies, but the issue still persists.

image

@chenweiyi chenweiyi changed the title Can't auto import component as Pascal Case when use script lang="tsx" in SFC Can't auto import component as PascalCase when use script lang="tsx" in SFC Apr 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants