Professional Documents
Culture Documents
Vite - Notatki
Vite - Notatki
Kurs obejmuje
-> Czym jest Vite?
-> Jak używać Vite?
-> Jakie korzyści z tego płyną?
-> Jak stworzyć statyczny projekt JS?
-> Motywy
-> Tailwind
-> Zmienne środowiskowe
-> Deploymenty
-> Konfiguracja
<script type="module">
import "./main.js";
</script>
Tak samo w przypadku css lecz można zaimportować również klasy z modułu CSSa lecz
tlko w javascript
style.module.css
<script type="module">
import "./main.js";
import classes from "./style.2.module.css";
<- klasy zaczną działać
</script>
Klasy zawsze mają unikatowe kodowanie więc zawsze są tworzone "na nowo" najlepiej w
tym wypadku dodawać je dynamicznie. Przykład obiektu klasy: {title:
'_title_23mh0_7'}
<script type="module">
import "./main.js";
import classes from "./style.2.module.css";
document.querySelectorAll("h1").forEach((el) => {
el.classList.add(classes.title);
});
</script>
Jest to w sumie bardzo bazowy serwer vite który jest używany do prostych projektów.
Jeśli nie chcesz tworzyć nowego folderu usuń nazwę i wpisz kropkę
Jeśli używasz starszego npma < 6: npm create vite may-app --template vanilla
Możesz w podobny sposób tworzyć inne aplikacje ale pamiętaj że mają one osobne
konfiguracje, podobnie jest w laravel.
Vue:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()],
})
Laravel:
@vite(['resources/css/geoportal-styles.css', 'resources/css/app.css',
'resources/css/ol-style.css', 'resources/js/app.js', 'resources/js/ol-map.js'])
Wymaga laravel-vite-plugin
4. Integracja Tailwind
@tailwind base;
@tailwind components;
@tailwind utilities;
Dodane pliki:
Skończyłeś 30:00
5. ENV variables
import.meta.env
console.log(import.meta.env);
{
"VITE_DBNAME": "Something",
"VITE_DBPASS": "Something else",
"BASE_URL": "/",
"MODE": "development",
"DEV": true,
"PROD": false,
"SSR": false
}
6. Deployments
wszystkie pliki należy zaczynać wtedy od ścieżki bazowej, w githubie można zbudować
taką stronę
za pomocą bota którego trzeba jednak skonfigurować
W githubie Settings > Pages > GitHub Actions > Static HTML
on:
# Runs on pushes targeting the default branch
push:
branches: ["master"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Allow only one concurrent deployment, skipping runs queued between the run in-
progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production
deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
cache: 'npm'
- name: Install Dependencies
run: npm install
- name: Build Process
run: npm run build
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
# Upload entire repository
path: './dist'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
7. Netlify deployments
npm install netlify-cli -g
Skończyłeś 53:30
Postępuj zgonie z tem co masz w netlify-cli aby opublikować stronę, może byc
potrzebne podłączenie repozytorium
8. Vercel Deployments
sudo vercel
9. Configurations
export default {
base: "/vite/",
};
Inne konfiguracje
Async config
export default defineConfig(async ({ command, mode }) => {
const data = await someAyncFunction();
return {};
});
return {};
});
css: {
devSourcemap: true, <- wygeneruj mapę zasobów css
},
server: {
port: 3000, <- zmiana portu
oprn: "index.html" <- otwórz konkretny plik
},
preview: {
port: 8888,
strictPort: true, <- zamyka projekt jeśli port nie jest dostepny
}
});