Pokedex: Migración de Mix a Vite
5460 단어 vuelaraveljavascriptvite
Puedes ver la publicación aquí:
따라서 "Javascript"를 컴파일할 때 필요한 작업을 수행해야 합니다.
9.19 버전의 Laravel은 Javascript를 컴파일할 수 있으며 "Laravel Mix"는 "Vite"와 통합되어 Laravel의 공식 문서로 통합됩니다.
Las diferencias entre estas es que "Vite"te da un entorno de desarrollo y compilación mas rápido que "Laravel Mix"y "Webpack".
Aquí puedes obtener información sobre Vite:
https://vitejs.dev/guide/why.html
https://laravel.com/docs/9.x/vite
구성
Para integrar Vite a un proyecto ya existente, solamente necesitamos instalar dos paquetes; para lograr esto debemos ejecutar lo siguiente:
npm install --save-dev vite laravel-vite-plugin
Vue에 Vite 플러그인을 설치하려면 다음을 수행해야 합니다.
npm install --save-dev @vitejs/plugin-vue
Archivo "vite.config.js"의 크리모스:
touch vite.config.js && nano vite.config.js
Lo editamos con el siguiente contenido:
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import vue from '@vitejs/plugin-vue';
export default defineConfig({
plugins: [
laravel([
'resources/css/app.css',
'resources/js/app.js',
]),
vue()
],
});
Actualizamos el archivo "package.json"en su sección de "scripts"con lo siguiente:
"scripts": {
"dev": "vite",
"build": "vite build"
},
코디 구성
Otro requerimiento para que funcione correctamente "Vite", es quitar en el proyecto los "require y sustituirlos por "import". Además los archivos de los componentes en los "import"deben terminar con ".vue", 예:
//bootstrap.js
import axios from 'axios';
window.axios = axios;
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
//app.js
import './bootstrap';
import PokedexNav from "./components/PokedexNav.vue";
import PokedexContent from "./components/PokedexContent.vue";
import PokedexFooter from "./components/PokedexFooter.vue";
"mix()"또는 "asset()"또는 "@vite"및 "layout.blade"를 다시 사용하십시오.
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Pokedex</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css" integrity="sha256-h20CPZ0QyXlBuAw7A+KluUYx/3pK+c7lYEpqLTlxjYQ=" crossorigin="anonymous" />
@vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
Laravel Mix 및 구성 제거:
npm remove laravel-mix && rm webpack.mix.js
Configuramos Tailwind:
npx tailwindcss init -p
항해 구성
Para que Vite se ejecute en el contenedor de Sail, necesitamos realizar unas configuraciones para que funcione la integración.
"docker-compose.yml"에 "laravel.test"서비스를 추가하려면 다음 문서를 참조하십시오.
- '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
"vite.config.js"에 대한 요약 및 "defineConfig"섹션에 대한 집계:
server: {
host: '0.0.0.0',
hmr: {
host: 'localhost',
},
},
기본 구성을 호스트로 지정하거나 Sail의 컨비버 콘엘 컨텐더 구성에 서명할 수 없습니다.
Nota: La configuración "hmr" sirve para cuando se usa WSL2 en Windows.
Borramos caché y ejecutamos Vite:
sailartisan optimize:clear && sail npm run dev
Y Voila!, ya tenemos corriendo el Pokedex con Vite y nuestros recursos de Javascript se compilan casi al instante.
Otra de las ventaja de tener Vite en nuestro proyecto, es que el "hot reload"lo hace casi instantáneo en cuanto guardas los cambios de algún archivo.
Si quieres ver la diferencia de archivos para esta configuración lo puedes Consultar aquí:
https://github.com/krsrk/pokedex-laravel/pull/8
Reference
이 문제에 관하여(Pokedex: Migración de Mix a Vite), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/krsrk/pokedex-migracion-de-mix-a-vite-40ab텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)