Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

314
Views
What is the purpose of the 'main.js' file in a Vite.js app?

I am building a Vite.js app and am not sure I understand the purpose of the main.js file. I am having a hard time finding a clear explanation of this in the vite docs. I found an S/O post with a similar question in regards to a Vue app, but am not sure if the answers apply to Vite as well.

I am new to working with these frontend build tools, as well as modules in general, and want to make sure I understand what's happening. I know that index.html serves as the entry point to the app during development, but what is the purpose of main.js exactly?

My file structure is as follows:

├── package.json
├── vite.config.js
├── index.html
├── main.js
├── styles.css
├── pages
│   ├── login
│   │   ├── login.html
│   │   ├── login.js
│   ├── home
│   │   ├── home.html 
│   │   ├── home.js
│   │     
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

In the main.js you create the app instance, configure it and then mount it to a divtag. This is the way forward for any vue3 application and is independent on the bundling tool used (such as vite). A typical example for a main.jsis as follows:

import {createApp} from 'vue'

import store from './store.js'
import router from './routes.js'
import i18n from './i18n.js'
import App from '../components/App.vue'


// mount is the last one ...
const myApp = createApp(App);
myApp.use(store)
    .use(router)
    .use(i18n)
    .mount('#app');

In the index.html you would load this main.js:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <title>MyApp</title>
    <link rel="icon" href="/favicon.svg" type="image/svg+xml">
    <meta name="theme-color" content="#ffffff">
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/js/main.js"></script>
</body>
</html>
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!