<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: webfansplz</title>
    <description>The latest articles on DEV Community by webfansplz (@webfansplz).</description>
    <link>https://dev.to/webfansplz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F833971%2F2fe68f39-5253-4b22-853c-e93dbdf08b0f.jpeg</url>
      <title>DEV Community: webfansplz</title>
      <link>https://dev.to/webfansplz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/webfansplz"/>
    <language>en</language>
    <item>
      <title>Introducing Vue DevTools (Vite Plugin)</title>
      <dc:creator>webfansplz</dc:creator>
      <pubDate>Wed, 28 Jun 2023 13:31:50 +0000</pubDate>
      <link>https://dev.to/webfansplz/introducing-vue-devtools-vite-plugin-4p70</link>
      <guid>https://dev.to/webfansplz/introducing-vue-devtools-vite-plugin-4p70</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FUmuwObI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/e2eeec9a-f0e0-4d44-bdce-0d6115a3b8c3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FUmuwObI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/e2eeec9a-f0e0-4d44-bdce-0d6115a3b8c3.png" alt="" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;In recent years, there has been an increasing focus on improving the developer experience (DX). Tools and frameworks have been striving to enhance it. I believe everyone already knows &lt;code&gt;Vite&lt;/code&gt;, a tool that has gained significant popularity in the frontend build tooling in recent years. It's fast, but that's not its only advantage.Vite's ecosystem has seen rapid growth due to its user-friendly and highly extensible plugin design mechanism.This allows developers to quickly integrate Vite into their tools and frameworks. Anthony Fu opensourced the &lt;a href="https://github.com/nuxt/devtools"&gt;Nuxt DevTools&lt;/a&gt; on Vue Amsterdam 2023,a new tool to help you understand your Nuxt app and improve the developer experience even further. It deeply moved and inspired me, why can't Vue have a similarly cool tool? We all know that there is an official Vue Devtools browser extension, but can we create a Vue Devtools that is bound to Vite and integrates with the existing Vite ecosystem to enhance its capabilities while retaining the original features of Vue Devtools?Additionally, by exposing configurations and capabilities, users can customize and extend functionalities for greater flexibility. Building upon these ideas, &lt;a href="https://github.com/webfansplz/vite-plugin-vue-devtools"&gt;vite-plugin-vue-devtools&lt;/a&gt; is out, Let's take a look at what it has to offer!&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing Vue DevTools
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Pages
&lt;/h3&gt;

&lt;p&gt;The pages tab shows your current routes and provide a quick way to navigate to them. For dynamic routes, it also provide a form to fill with each params interactively. You can also use the textbox to play and test how each route is matched.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1ErN0axb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/dde2f55c-72eb-4a6e-a546-01eef0384f4e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1ErN0axb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/dde2f55c-72eb-4a6e-a546-01eef0384f4e.png" alt="" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Components
&lt;/h3&gt;

&lt;p&gt;Components tab show all the components you are using in your app and hierarchy. You can also select them to see the details of the component (e.g. data,props).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w71nx8cc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/f041acf1-2622-4566-996b-0a81cdb5e7be.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w71nx8cc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/f041acf1-2622-4566-996b-0a81cdb5e7be.png" alt="" width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Assets
&lt;/h3&gt;

&lt;p&gt;Assets tab that shows all your static assets (vite config.publicDir only now) and their information. You can open the asset in the browser or download it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yC1JJr_L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/964bc017-1d19-4c13-82e0-3091c9682c05.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yC1JJr_L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/964bc017-1d19-4c13-82e0-3091c9682c05.png" alt="" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Timeline
&lt;/h3&gt;

&lt;p&gt;Timeline tab has three categories: Performance, Router Navigations, and Pinia. You can switch between them to see the state changes and timelines.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AS1xCOxT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/df0555f7-79bf-4b4a-948c-bff0f45586d6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AS1xCOxT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/df0555f7-79bf-4b4a-948c-bff0f45586d6.png" alt="" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Routes
&lt;/h3&gt;

&lt;p&gt;Routes tab is a feature integrated with &lt;a href="https://github.com/vuejs/router"&gt;Vue Router&lt;/a&gt;, allowing you to view the registered routes and their details.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e-DFUfuf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/4fa0a1c6-6653-42d9-8ddc-8091761193f1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e-DFUfuf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/4fa0a1c6-6653-42d9-8ddc-8091761193f1.png" alt="" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Pinia
&lt;/h3&gt;

&lt;p&gt;Pinia tab is a feature integrated with &lt;a href="https://github.com/vuejs/pinia"&gt;Pinia&lt;/a&gt;, allowing you to view the registered modules and their details.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tdp8JeBz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/ec409c5c-ebe1-4fc3-b317-0679288a9d26.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tdp8JeBz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/ec409c5c-ebe1-4fc3-b317-0679288a9d26.png" alt="" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Graph
&lt;/h3&gt;

&lt;p&gt;Graph tab provides a graph view that show the relationship between components. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0EmDYIsy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/1f45e23a-2d59-4f5c-9bf6-8b2d455a9a38.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0EmDYIsy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/1f45e23a-2d59-4f5c-9bf6-8b2d455a9a38.png" alt="" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Inspect
&lt;/h3&gt;

&lt;p&gt;Inspect expose the &lt;a href="https://github.com/antfu/vite-plugin-inspect"&gt;vite-plugin-inspect&lt;/a&gt; integration, allowing you to inspect transformation steps of Vite. It can be helpful to understand how each plugin is transforming your code and spot potential issues.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--taE-5uBi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/cbfb271a-a5fd-495e-8ffc-b255c93bfb93.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--taE-5uBi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/cbfb271a-a5fd-495e-8ffc-b255c93bfb93.png" alt="" width="800" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Inspector
&lt;/h3&gt;

&lt;p&gt;You can also use the "Inspector" feature to inspect the DOM tree and see which component is rendering it. Click to go to your editor of the specific line. Making it much easier to make changes, without the requirement of understanding the project structure thoroughly. (This feature is implemented based on the &lt;a href="https://github.com/webfansplz/vite-plugin-vue-inspector"&gt;vite-plugin-vue-inspector&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JHqpK98H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/daba8cda-70f1-4db1-b0a0-0b6317f45d1f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JHqpK98H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.mdnice.com/user/6865/daba8cda-70f1-4db1-b0a0-0b6317f45d1f.png" alt="" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Vue DevTools Usage
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;
&lt;span class="c"&gt;# vite-plugin-vue-devtools &lt;/span&gt;

npm &lt;span class="nb"&gt;install &lt;/span&gt;vite-plugin-vue-devtools &lt;span class="nt"&gt;-D&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Usage
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;defineConfig&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;vite&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;VueDevtools&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;vite-plugin-vue-devtools&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;defineConfig&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;plugins&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="nx"&gt;VueDevtools&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
    &lt;span class="nx"&gt;vue&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
  &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Notice
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Only available in development mode.&lt;/li&gt;
&lt;li&gt;Only support Vue3.0+.&lt;/li&gt;
&lt;li&gt;Currently only supports single-instance Vue applications (multi-instance support is coming soon).&lt;/li&gt;
&lt;li&gt;Doesn't support SSR (If you're using Nuxt, use &lt;a href="https://github.com/nuxt/devtools"&gt;nuxt/devtools&lt;/a&gt; directly).&lt;/li&gt;
&lt;li&gt;The plugin follows Vue's devtools configuration, so if you have configured the &lt;code&gt;hide&lt;/code&gt; option, it will also be applied in this plugin. e.g.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="c1"&gt;// This Vue instance will be ignored by the plugin.&lt;/span&gt;
  &lt;span class="nx"&gt;createApp&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;render&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;h&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;App&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;devtools&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;hide&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Credits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;This project is highly inspired by &lt;a href="https://github.com/nuxt/devtools"&gt;nuxt/devtools&lt;/a&gt;. Kudos to Anthony Fu and Nuxt team for the awesome work!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vuejs/devtools"&gt;vuejs/devtools&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The plugin is currently in the Early Preview, and any ideas or bug feedback are welcome. If it has been helpful to you, please give it a &lt;a href="https://github.com/webfansplz/vite-plugin-vue-devtools"&gt;star&lt;/a&gt;, thanks!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>[Vite Plugin] Jump to local IDE source code while click the element of browser automatically.</title>
      <dc:creator>webfansplz</dc:creator>
      <pubDate>Mon, 21 Mar 2022 06:46:47 +0000</pubDate>
      <link>https://dev.to/webfansplz/vite-plugin-jump-to-local-ide-source-code-while-click-the-element-of-browser-automatically-2j2n</link>
      <guid>https://dev.to/webfansplz/vite-plugin-jump-to-local-ide-source-code-while-click-the-element-of-browser-automatically-2j2n</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YLXwNCbT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/on0qsu346ek97kiqa4h1.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YLXwNCbT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/on0qsu346ek97kiqa4h1.gif" alt="Image description" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/webfansplz/vite-plugin-vue-inspector"&gt;vite-plugin-vue-inspector&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vue</category>
      <category>vite</category>
      <category>github</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
