No meu projeto laravel 10 eu carrego um js como:
@vite(['resources/js/myjs.js'])
E my vite.config.js
contém as seguintes configurações
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import inject from "@rollup/plugin-inject";
export default defineConfig({
plugins: [
laravel({
input: [
'resources/css/style.css',
'resources/css/another-style.css',
'resources/js/main.js',
'resources/js/my.js',
'resources/js/myjs.js',
'node_modules/jquery/dist/jquery.js',
'node_modules/bootstrap/dist/css/bootstrap.css',
'node_modules/@fortawesome/fontawesome-free/css/all.css'
],
refresh: true,
}),
inject({
$: 'jquery',
jQuery: 'jquery',
'common_functions':'resources/js/common_functions.js',
}),
],
build: {
rollupOptions: {
external: [
"js/modules/*",
]
}
}
});
Mas se eu precisar de outro arquivo js, devo colocá-lo, vite.config.js
tornando o desenvolvimento um pouco lento, porque preciso colocar qualquer novo ccs ou js no vite.config.js
que, devido à pressa do desenvolvimento, posso esquecê-lo.
Existe uma maneira conveniente de o vite procurar quaisquer arquivos definidos em resources/css
e resources/js
pastas?
Afaik não há opção de passar curinga *. De acordo com: documento . Temos que fazer isso de forma programática, talvez assim, onde ele percorre as pastas e obtém o caminho dos arquivos, você poderia apenas espalhar
...pageStyles
no objeto, onde deseja inserir os caminhos dos arquivos.Como diz @Burak Ayyildiz, você precisa percorrer manualmente o diretório e obter os caminhos como um array. Mas a resposta definida no documento tem alguns problemas:
Portanto, uma correção para a função é:
Isso também simplifica o código.