How to change the entry point to something other than the default 'src/main.js' using Vite?
Asked Answered
B

2

8

I want to point to a different location and file name and deviate from the Vite standard.

Let's say my js file is in out/frontend/../../out.js. I got it working when I rename it to main.js and copy it in the root of my project where index.html and vite.config.js live. But I would prefer to change the entry point somehow...

I tried this:

rollupInputOptions: {
  // or whatever your entry file is
  input: resolve(__dirname, 'out/frontend/my/path/out.js')
}

Did not work. Any suggestions?

Belgian answered 1/7, 2021 at 20:19 Comment(0)
C
7

As of Vite 2, the entry file is specified in a <script> tag in index.html:

<script type="module" src="/src/main.js"></script>

You can change that file to the one you want:

<script type="module" src="/out/frontend/my/path/out.js"></script>

demo

Calais answered 27/9, 2021 at 4:50 Comment(0)
S
2

Use resolve from path module and add an alias in vite.config.js config to resolve paths, check.

import { resolve } from 'path'

module.exports = {
  ...
  resolve: {
    alias: {
      '@': resolve(__dirname, '../out/'), // resolve path
    },
  },
  rollupInputOptions: {
    input: resolve(__dirname, '../out/entrypoint.js') // custom main
  }
}
  • to import a module from resolved path use '@', eg: import { myModule } from '@/mymodule'
  • You will have to adjust the path of the new entrypoint in the index.html file.
Sixteenth answered 6/7, 2021 at 9:36 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.