Skip to content

Laravel package

This section explains each configuration option available in the config/vite.php configuration file.

As a reminder, you can publish the configuration using the following command:

> php artisan vendor:publish --tag=vite-config


This option is an array of configurations, each one specific to a Vite configuration file. Most of the time, only one configuration is needed, the default one.

But sometimes, you may need to have multiple bundles, in which case you can define multiple configurations. You can learn more about that in the relevant documentation.



This property is required and defines the paths to the entrypoints for this configuration. It can be a single string or an array of string, and either of these can be a path to a file or a directory. Only script and CSS files are supported as entrypoints.

When using a directory instead of a path to a file, all the files inside will be registered as entrypoints. When possible, we recommend using a direct path to a script directly.


This property is optional and defines the path to an SSR entrypoint. For more information about that, refer to the SSR documentation.


This property is optional and defines a regular expression used to filter out entrypoints defined by paths.



Defines the URL of the development server. For more information about this, see the development guide.


Defines if the "fall back to using the manifest" feature should be used. When set to false, the manifest will never be used unless the environment is set to production.

Read more about this in the server and manifest modes documentation.


Defines an URL to ping in order to reach the development server. Usually, this is not needed and url will be used. It may be useful when you have a network configuration in which your browser can reach the development server but the PHP package cannot.


Defines the duration, in seconds, to wait before considering that the ping to the development server failed and to use the manifest instead.

cert and key

Defines the path to your SSL certificate and its private key. This is only needed when using https and can be auto-discovered when using Valet or Laragon.

Learn more about using https in the development documentation.


If, for some reason, you don't want to use the development server at all, you can set this option to false. In this case, the manifest will always be used.


Defines the directory, relative to /public, in which the assets should be built. This cannot be an empty string, otherwise the /public directory would be emptied.

Properly name the build paths

When using just one configuration, the default is build. When using multiple configurations, we recommend using a directory named after the configuration. For instance, build/front-office and build/back-office.


Aliases may be defined in order to avoid using relative paths when importing components and other assets.

This option is an array of symbol => path definitions that takes care of registering aliases and updating the tsconfig.json file, which your IDE needs to provide autocompletion.


It's often needed to perform specific operations just before the development server or the bundling starts. This option can define commands to run when that happens.


Commands defined there will be ran as Artisan commands. When using keyed arrays, the value should be an array of arguments:

'commands' => [
    'artisan' => [
        'ts:generate' => ['--path', 'resources/scripts/types/definition.d.ts']


Commands defined here follow the same rules as Artisan commands, except the key can be any valid shell command.



Depending on the way you are testing your application, you may or may not need to use the manifest.

This option controls whether Laravel Vite should try to read the manifest or generate tags pointing the the development server when in the testing environment.

By default, this is disabled to not trigger the ManifestNotFound exception when rendering a Blade view.

Testing tip

You can use Vite::useManifest() to change this option on the fly when testing. It optionally accepts a boolean argument.


This option defines the prefixes that environment variables must have in order to be accessible from the front-end.

By default, environment variables starting with MIX_, VITE_ or SCRIPT_ are available to the scripts via import.meta.env.

Vite tip

Vite has more features regarding import.meta.env, which you can read about in their documentation.



This interface covers the logic for generating script and link tags. It can be useful to override it in case you need to add attributes such as crossorigin or defer.

Read more about that in the tag generation documentation.


This interface covers the logic for checking if the development server is reacheable and should be used. By default, Laravel's Http client is used to perform a GET request on /@vite/client, which should return a HTTP 200 code.


This interface covers the logic for finding entrypoints from an array of paths. You probably don't need to override it, unless you are using a custom architecture.


This option defines the name of the default configuration. This is only useful to change when trying to name configurations according to their scopes, but in most cases, this is not needed.

Laravel package configuration has loaded