Vite + Emacs

Lightning-fast frontend development meets the world's most powerful text editor.
Experience instant hot reload, intelligent code editing, and seamless workflow integration.

Instant HMR
Smart Completion
Optimized Build
Vite: Ready
Emacs: Connected
HMR: Active

Live Integration Demo

Real-time Code Editing

Experience instant feedback as you type. Changes appear immediately in the browser with Vite's Hot Module Replacement.

// Vite + Emacs Integration Demo
import { createApp } from 'vue'
import { defineComponent } from 'vue'

const App = defineComponent({
  data() {
    return {
      message: 'Hello from Vite + Emacs!'
    }
  },
  template: `
    <div class="app">
      <h1>{{ message }}</h1>
      <button @click="updateMessage">
        Update Message
      </button>
    </div>
  `,
  methods: {
    updateMessage() {
      this.message = 'Updated at ' + new Date().toLocaleTimeString()
    }
  }
})

createApp(App).mount('#app')

Emacs Terminal Integration

Run Vite commands directly from Emacs, with output streamed to your terminal buffers.

$ npm run dev
VITE v5.0.8 ready in 123 ms ➜ Local: http://localhost:3000/ ➜ Network: http://192.168.1.100:3000/ ➜ press h to show help
✓ optimized dependencies cached

Intelligent File Watching

Vite watches your files and automatically reloads when changes are detected, integrated with Emacs save hooks.

src/App.vue ✓ Saved
src/styles/main.css ⚠ Modified

Optimized Build Pipeline

Production builds are optimized with tree-shaking, minification, and modern browser targets.

vite build
building for production...
✓ 127 modules transformed.
dist/index.html 0.45 kB │ gzip: 0.30 kB
dist/assets/index-4f7d0024.css 1.23 kB │ gzip: 0.61 kB
dist/assets/index-b4c7f72d.js 64.13 kB │ gzip: 25.85 kB
✓ built in 892ms

Quick Setup Guide

1. Install Dependencies

$ npm create vite@latest my-project
$ cd my-project
$ npm install

2. Configure Emacs

;; Add to your ~/.emacs.d/init.el
(use-package web-mode
  :mode ("\\.vue\\'" "\\.jsx?\\'")
  :config
  (setq web-mode-content-types-alist
        '(("jsx" . "\\.jsx?\\'"))))

(use-package company
  :hook (web-mode . company-mode))

3. Start Development

$ npm run emacs:dev
🚀 Vite + Emacs ready!
📝 Open files in Emacs
⚡ Instant hot reload active