vite.config.js
import laravel from "laravel-vite-plugin";
import { defineConfig } from "vite";
export default defineConfig({
plugins: [
laravel({
input: [
// Core
"resources/css/core.css",
// Frontend
"resources/sass/frontend.scss",
"resources/css/frontend.css",
"resources/js/frontend.js",
// Admin
"resources/sass/admin.scss",
"resources/css/admin.css",
"resources/js/admin.js",
],
refresh: true,
}),
],
build: {
chunkSizeWarningLimit: "2MB",
rollupOptions: {
onwarn(warning, warn) {
// suppress eval warnings
if (warning.code === "EVAL") return;
warn(warning);
},
},
},
});
package.json
{
"name": "laravel",
"private": true,
"type": "module",
"scripts": {
"dev": "vite build --watch",
"build": "vite build",
"prod": "vite build"
},
"devDependencies": {
"axios": "^1.7.7",
"bootstrap": "^5.3.3",
"jquery": "^3.7.1",
"laravel-vite-plugin": "^1.0.5",
"rollup-plugin-visualizer": "^5.12.0",
"sass": "^1.80.5",
"vite": "^5.4.10"
},
"dependencies": {
"@clairelizbet/copy-to-clipboard": "1.*",
"@fortawesome/fontawesome-free": "6.*",
"animate.css": "4.*",
"aos": "ammannbe/simple-aos",
"bootbox": "6.*",
"bootstrap-touchspin": "4.*",
"choices.js": "11.*",
"cropperjs": "1.*",
"datatables.net-bs5": "2.*",
"datatables.net-buttons-bs5": "3.*",
"datatables.net-plugins": "2.*",
"datatables.net-responsive-bs5": "3.*",
"flatpickr": "4.*",
"jquery-autocomplete": "devbridge/jQuery-Autocomplete",
"jquery-cropper": "1.*",
"jquery-datatables-checkboxes": "1.*",
"jquery-file-upload": "4.*",
"jquery-mask-plugin": "1.*",
"luxon": "3.*",
"number_format-php": "1.*",
"select2": "4.*",
"signature_pad": "5.*",
"slick-carousel": "kenwheeler/slick",
"summernote-tmp-release": "0.*",
"toastr": "2.*"
}
}
bootstrap.js
// jQuery
import $ from "jquery";
window.jQuery = window.$ = $;
// Axios
import axios from "axios";
window.axios = axios;
window.axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest";