[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Darcio Fernandes
Criador Darcio Fernandes 19/02/2022

Boa tarde Carlos, tudo bom ???

Hoje estou refazendo esse curso para lembrar algumas coisas de Vue.Js e tirar o certificado, masssss devido ser versões mais antigas do Laravel ou Vue em comparado a hoje, alguma coisa está impedindo de eu avançar e sendo assim estou com problema no Vue.JS, se puder me ajudar por favor e quando possível claro, vou deixar os prints pra ajudar, de modo a ficar mais claro o erro:

 

Se puder depois por favor me passar qual o comando ou configuração que preciso fazer para já deixar anotado aqui a sequência, daí fica mais fácil para um próximo projeto aí no futuro eu já ter essa informação na manga ... Obrigadão mesmo desde já ...

 

Ao rodar npm run watch, apresenta tudo ok pelo Laravel mix no VStudio -> Laravel Mix v6.0.41 -> ✔ Compiled Successfully in 319ms

https://uploaddeimagens.com.br/imagens/KMHLBXM

 

Mas no browser, erro abaixo conforme anexo -> Uncaught TypeError: Vue.component is not a function

https://uploaddeimagens.com.br/imagens/koMADXQ

 

O projeto está no gitLab conforme link -> https://github.com/darciofjunior/Notifications

 

Rodei mais ou menos essa sequência de comandos para funcionar o Vue.Js

1) composer require laravel/ui

2) php artisan ui vue --auth

3) npm install

4) npm audit fix --force

5) npm fund (acho que não precisa)

6) npm run dev

7) npm install vue-loader@^15.9.7 --save-dev --legacy-peer-deps

8) npm audit fix --force

9) npm fund (acho que não precisa)

10) npm run dev

11) npm install vue@next

12) npm fund (acho que não precisa)

13) npm run dev

Manager Carlos Ferreira 19/02/2022

Olá, Darcio!
Tudo bem?

Após você rodar estes comandos para corrigir os packages vulneráveis, o sistema continua funcionando normalmente?

---

Sobre os comandos amigo, não tem um padrão exato, porque note, quando você rodou "npm audit fix  e npm fund" o npm te passou o comando que precisava atualizar o package que tinha vunerabilidades:
npm install vue-loader@^15.9.7 --save-dev --legacy-peer-deps

O ponto é que esse comando pode mudar de aplicação para aplicação, e de período para período.

Carlos Ferreira
Criador Darcio Fernandes 19/02/2022

Boa noite Carlos, tudo bem sim e você como está ???

Então o sistema funciona sim a nível Laravel, menos o Vue a nível de tela que consequentemente não carrega o componente na parte superior a esquerda que é o Tópico abordado na aula ... E o Vue ferramenta que nós temos no Navegador não fica verde, sempre cinza como Vue. no detected ...

Daí alguns artigos já recomendaram fazer a troca de "Windows.vue = Vue" para import from Vue ... ou import from vue/dist/vue, mas aí nesse caso nem chega a compilar / rodar o npm run dev pelo VSCode, dá problema também, conforme imagem abaixo:

https://uploaddeimagens.com.br/imagens/IqUQS-g

 

Obrigado toda a atenção até aqui, abraço e grande semana ...

Darcio Fernandes
Manager Carlos Ferreira 19/02/2022

Na guia console do browser, tem algum erro?
Print por favor

---

Importa o Vue dessa forma:
import * as Vue from 'vue'

---

Sobre o VueDevTools, tem duas versões, sempre habilita um ou a outra, experimenta alternar entre elas.

Carlos Ferreira
Criador Darcio Fernandes 19/02/2022

Boa tarde Carlos, tudo bem ???

Quando esta assim, passa corretamente no VSCode e dá erro no Browser igual foto abaixo:

require('./bootstrap');

window.Vue = require('vue');

https://uploaddeimagens.com.br/imagens/sVGkAAs

___________________________________________________________________________

Agora que eu aditei essa linha nova que me passou:

require('./bootstrap');

import * as Vue from 'vue'

window.Vue = require('vue');

Ele dá dois erros conforme fotos abaixo uma no VSCode, outra no console do Browser:

https://uploaddeimagens.com.br/imagens/TcV0CQc

https://uploaddeimagens.com.br/imagens/Xz6mRIs

 

Observação importante, não sei se ajuda, antes quando tentei importar assim -> import Vue from 'vue' me retornava 2 warnings, do modo novo como me passou -> import * as Vue from 'vue' só me retorna 1 warning

https://uploaddeimagens.com.br/imagens/EZ68GKs

O browser é o mesmo erro -> https://uploaddeimagens.com.br/imagens/Xz6mRIs

 

 

Darcio Fernandes
Manager Carlos Ferreira 19/02/2022

Achei o problema amigo, você instalou o Vue 3:
https://github.com/darciofjunior/Notifications/blob/main/package.json#L22

Precisa instalar o Vue 2, exemplo:
https://github.com/especializati/curso-laravel-com-socket.io/blob/master/package.json#L27

Seta a dependência do Vue 2 manualmente, e roda o comando "npm update"

Usa esse projeto como base: https://github.com/especializati/curso-laravel-com-socket.io

Carlos Ferreira
Criador Darcio Fernandes 19/02/2022

Bom dia Carlos, tudo bem ???

Eu não iria imaginar nunca que isso aconteceu ... Jamais ...

Ainda hoje com tempo, vou fazer essa adaptação e te dou um retorno aqui no fórum ...

 

Uma só pergunta: Dá a entender que hoje por padrão o Vue 1 já era ok ??? Digo: seria possível instalar o vue 1 ou já não mais estaria defasado ??? Obs: não vou fazer isso, só estou perguntando mais a nível de conhecimento mesmo ...

Obrigado até o momento e toda a atenção de sempre ...

Darcio Fernandes
Criador Darcio Fernandes 19/02/2022

Boa tarde Carlos deixei com a versão 2.6 igual me disse, mas aí o mix não compila pelo VsCode vou mandar uma foto ...

https://uploaddeimagens.com.br/imagens/T6tRruo

 

Esse comando que eu rodava conforme sequência lá de cima 11) npm install vue@next ele faz compilar o mix, vamos dizer assim, mas é ele quem automaticamente já joga o vue para a versão 3 ...

Teria algum comando sei ser esse que faria rodar o mix e manteria na versão 2 sem dar esse erro ??? [webpack-cli] Error: Cannot find module 'vue/compiler-sfc'

Darcio Fernandes
Manager Carlos Ferreira 19/02/2022

Sim, este comando é para fazer o upgrade da versão do vue, para a 3
npm install vue@next

Faz o seguinte amigo, usa esse package.json aqui:
https://github.com/especializati/curso-laravel-notifications-gratuito/blob/master/package.json

Deleta o arquivo package-lock.json
Deleta o diretório node_modules/

E instala novamente:
npm install

Depois, atualiza as versões dos packages para evitar problemas de segurança.

Carlos Ferreira
Criador Darcio Fernandes 19/02/2022

Boa tarde Carlos, fazendo tudo o que me recomendou ... Tive o seguinte retorno:

https://uploaddeimagens.com.br/imagens/RoZryHc

Obrigado por todo o suporte até aqui ...

Um grande abraço

Darcio Fernandes
Criador Darcio Fernandes 19/02/2022

Boa tarde Carlos, essa seguinte sequência, resolveu pra mim e fica aí a dica pra quem for adaptar o Vue em qualquer projeto com Laravel:

 

1) composer require laravel/ui

2) php artisan ui vue

3) npm install

4) npm run dev

5) npm i vue-loader "Aqui preserva a versão 2.6.12 e não quebra" -> Comando correto

5.1) Se usar esse cara -> npm install vue@next -> aqui modifica para a versão 3 do vue.js ... "Não é indicado dependendo do projeto porque pode quebrar igual acontecia comigo"

6) npm run dev ou npm run watch

 

Obrigado todo o apoio / suporte, pode finalizar o ticket ...

Darcio Fernandes
Criador Darcio Fernandes 19/02/2022

Observação pra ninguém apanhar igual aconteceu comigo ... aaaarrrrrrghhhh rsrsrs, se quiser gerar com os links de Login para autenticação já que não temos mais o "php artisan make:auth", o tópico 2 se acrescenta --auth

1) composer require laravel/ui

2) php artisan ui vue --auth

3) npm install

4) npm run dev

5) npm i vue-loader "Aqui preserva a versão 2.6.12 e não quebra" -> Comando correto

5.1) Se usar esse cara -> npm install vue@next -> aqui modifica para a versão 3 do vue.js ... "Não é indicado dependendo do projeto porque pode quebrar igual acontecia comigo"

6) npm run dev ou npm run watch

Darcio Fernandes
Manager Carlos Ferreira 19/02/2022

Show de bola Darcio, meus parabéns amigo, e obrigado por compartilhar a solução.

Carlos Ferreira
Criador Darcio Fernandes 19/02/2022

Só para agregar aí a nível de resposta, recebi de um fórum essa resposta -> npm uninstall vue@next && npm install -D [email protected]

Mais um ponto ao tentar instalar o vuex vai dar erro e com esse comando vai dar certo -> npm install [email protected] -S

Darcio Fernandes
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!