2021-12-22
1741
#vue
Anthony Gore
83691
Dec 22, 2021 ⋅ 6 min read

Building a Vue 3 component library

Anthony Gore I'm Anthony Gore, a frontend web developer from Sydney, Australia. I curate the weekly Vue.js Developers Newsletter and blog frequently on interesting web development topics.

Recent posts:

gemini 3 and antigravity

A developer’s guide to Antigravity and Gemini 3

Check out Google’s latest AI releases, Gemini and the Antigravity AI IDE. Understand what’s new, how they work, and how they can reshape your development workflow.

Elijah Asaolu
Dec 4, 2025 ⋅ 6 min read
bun 1.3 javascript runtime what's new

Bun 1.3: Is it time for devs to rethink the Node stack?

Learn about Bun 1.3, which marks a shift from fast runtime to full JS toolchain—and see the impact of Anthropic’s acquisition of Bun.

Alex Merced
Dec 4, 2025 ⋅ 9 min read

Stop using JavaScript to solve CSS problems

Stop defaulting to JavaScript. Modern CSS handles virtualization, responsive layouts, and scroll animations better than ever – with far less code.

Chizaram Ken
Dec 4, 2025 ⋅ 7 min read
replay december 3

The Replay (12/3/25): React’s next era, AI code review tools, and more

React’s next era, AI code review tools, and more: discover what’s new in The Replay, LogRocket’s newsletter for dev and engineering leaders, in the December 3rd issue.

Matt MacCormack
Dec 3, 2025 ⋅ 30 sec read
View all posts

9 Replies to "Building a Vue 3 component library"

  1. Thanks for sharing, I’ve followed the instructions, but am hitting a “Error: Could not resolve ‘./components’ from src/index.js” when running the `npm run build` command. The ‘/components/’ folder is definitely there.

    If I change the import to “import components from ‘@src/components’ then the build works correctly, however the module then complains, saying “Cannot find module ‘@src/components'” when used as an npm module in a Vue project.

    Any help/advice would be appreciated.

  2. Hello, I am trying to follow your guide. I am encountering an error when trying to build. I have not gotten to publishing yet. It says, “SyntaxError: Cannot use import statement outside a module.” I’ve read some posts suggesting using “type”: “module” but your package.json does not use this. Any advice?

    1. I added type=module to resolve this

      ”’
      {

      “main”: “index.js”,
      “type”: “module”,

      }

  3. Hi Anthony
    Thanks for sharing. This has helped me a lot on something that I currently working
    But I have a problem, I’m working with script setup and because of that I don’t have access to name, inheritAttrs, etc.
    How can I do the iteration through the list of components exported on index.js file?
    For now I added an extra script block where I set the same, but as you can image this is a hackish solution and would like to use on the final product.
    Thanks

  4. this is a really great source. Thanks for this!
    If I want to import the components individually in my project files (ie. import InputText from ‘my-package’) what do I need to do? I tried to add it to the files white-list but no luck

  5. I don’t suppose you could give a little more detail on the vuepress section? I followed the instructions but all I get running the docs server is the 404 page

Leave a Reply

Would you be interested in joining LogRocket's developer community?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now