vite.config.ts
import vue from "@vitejs/plugin-vue";
import { fileURLToPath, URL } from "url";
import { defineConfig } from "vite";
import vuetify from "vite-plugin-vuetify";
export default defineConfig({
plugins: [
vue(),
vuetify({
autoImport: true,
styles: { configFile: "src/scss/variables.scss" },
}),
],
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
},
},
define: {
'process.env': {}
},
css: {
preprocessorOptions: {
scss: {},
},
},
optimizeDeps: {
exclude: ["vuetify"],
entries: ["./src/**/*.vue"],
},
});
Local não deu erro, mas continuou gerando os .js
Não vou testar no servidor ainda, por causa destes arquivos .js, que estão sendo gerados desta forma
calmaí pô, eu trabalho kk
vai no seu package.json e muda seu scripts.build pra isso:
"build": "vue-tsc && vite build",
1 curtida
Eu sei kkkkkk
Desculpa ai.
vou testar
Agora build fica parado neste erro
Resolvido.
Este erro era poque tinhas uns console.log
Mas cê nem mudou o build, parou de criar os arquivos em js?
Eu ainda tô encucado como “vite homologacao” funciona kkkkkk
1 curtida
No arquivo tsconfig.json, inclui “outDir”: “dist”, ai gerou os arquivos .js no local correto
Estava assim:
{
"extends": "@vue/tsconfig/tsconfig.web.json",
"include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
},
"allowJs": true,
"types": ["node", "vite/client"],
"target": "ESNext"
},
"references": [
{
"path": "./tsconfig.vite-config.json"
}
]
}
Ficando assim:
{
"extends": "@vue/tsconfig/tsconfig.web.json",
"include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
"compilerOptions": {
"outDir": "dist",
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
},
"allowJs": true,
"types": ["node", "vite/client"],
"target": "ESNext"
},
"references": [
{
"path": "./tsconfig.vite-config.json"
}
]
}
Vendo aqui na verdade o vite homologacao, não funcionou.
O que funcionou foi o npm run build, com o .env para os endereços corretos.
Estou avaliando novamente
Gerei local e agora funcionou. O comando local foi npm run homologacao.
no arquivo .env.homologacao, endereços corretos
VITE_APP_BACKEND_URL=https://xxxxx:8443
VITE_APP_SOCK_URL=wss://xxxxx:8443/socket
VITE_APP_KEYCLOAK_URL=https://xxxxx:8443/
.env.production e .env
VITE_APP_BACKEND_URL=
VITE_APP_SOCK_URL=
VITE_APP_KEYCLOAK_URL=
.env.development
VITE_APP_BACKEND_URL=http://127.0.0.1:8002
VITE_APP_SOCK_URL=wss://localhost:8080/socket
VITE_APP_KEYCLOAK_URL=http://localhost:8080/
package.json
"scripts": {
"dev": "vite --port 8081",
"build": "vue-tsc --noEmit && vite build",
"homologacao": "vue-tsc --noEmit && vite build --mode homologacao",
"preview": "vite preview --port 5050",
"typecheck": "vue-tsc --noEmit",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
},
Peguei os arquivos e pastas geradas e coloquei no servidor manualmente e funcionou
Ai no .gitlab-ci.yml
fiz assim:
stages:
- install
- deploy
install_and_build:
image: node:16
stage: install
cache:
paths:
- node_modules/
only:
- homologacao
script:
- node -v
#- rm ./package-lock.json
- npm install
- npm run homologacao
- ls
artifacts:
paths:
- dist/
deploy:
stage: deploy
only:
- homologacao
before_script:
- apt-get update -qq && apt-get install -y -qq sshpass && apt-get install zip unzip -y
- zip -r dist.zip dist
script:
- sshpass -V
- export SSHPASS=$CI_USER_PASS
- sshpass -e scp -o StrictHostKeyChecking=no dist.zip gitlab-ci@$HOST_IP_APP_HOM:/home/gitlab-ci/frontend/
- sshpass -e ssh -tt -o StrictHostKeyChecking=no gitlab-ci@$HOST_IP_APP_HOM sudo unzip -o /home/gitlab-ci/frontend/dist.zip
- sshpass -e ssh -tt -o StrictHostKeyChecking=no gitlab-ci@$HOST_IP_APP_HOM sudo rm -rf /var/www/html/*
- sshpass -e ssh -tt -o StrictHostKeyChecking=no gitlab-ci@$HOST_IP_APP_HOM sudo mv dist/* /var/www/html/
- sshpass -e ssh -tt -o StrictHostKeyChecking=no gitlab-ci@$HOST_IP_APP_HOM sudo systemctl restart apache2
só lembrando que o .env não interfere em nada no build.
mas vc disse q a dist já tava sendo gerada antes. E aqueles .js estavam sendo gerados pq o build tava só “tsc” e não “vue-tsc”.
show q deu certo
1 curtida