Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [Vue.js] Problema con rotte

    ciao!

    ho un strano problema con le rotte e vue.js.
    l'applicazione si trova in una sottocartella

    allora:


    ma:


    avete idea del perchè???

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ho un strano problema con le rotte e vue.js. [...]
    avete idea del perchè???
    Le librerie per lo sviluppo di SPA (Single Page Application), qual è Vue.JS, di norma gestiscono il routing in modo particolare.

    Quantomeno dovresti indicare qual è la modalità di utilizzo che stai facendo della libreria Vue (la importi come script nel browser? usi Node?) e come hai configurato il sistema di routing nella tua applicazione (in breve, il codice sorgente interessato).

    In assenza di queste informazioni, non è chiaro quale sia la situazione e la presenza di comportamenti anomali è del tutto ammissibile.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Quote Originariamente inviata da alka Visualizza il messaggio
    Le librerie per lo sviluppo di SPA (Single Page Application), qual è Vue.JS, di norma gestiscono il routing in modo particolare.

    Quantomeno dovresti indicare qual è la modalità di utilizzo che stai facendo della libreria Vue (la importi come script nel browser? usi Node?) e come hai configurato il sistema di routing nella tua applicazione (in breve, il codice sorgente interessato).

    In assenza di queste informazioni, non è chiaro quale sia la situazione e la presenza di comportamenti anomali è del tutto ammissibile.

    Ciao!
    ciao!

    uso node, e per creare la build uso il classico:
    codice:
    npm run build
    questo il mio vue.config.js:
    codice:
    module.exports = {
        publicPath: process.env.NODE_ENV === 'production' ? '/sport' : '/sport'
    }
    questo il file delle rotte router.js:
    codice:
    import {createRouter, createWebHistory} from 'vue-router';
    import Dashboard from './components/Dashboard.vue';
    import Allenamenti from "@/components/Allenamenti";
    import AggiungiAllenamento from "@/components/AggiungiAllenamento";
    import Pesi from "@/components/Pesi";
    import AggiungiPeso from '@/components/AggiungiPeso';
    
    const routes = [
        {
            path: '/',
            name: 'dashboard',
            component: Dashboard,
        },
        {
            path: '/allenamenti',
            name: 'allenamenti',
            component: Allenamenti,
        },
        {
            path: '/aggiungi/:id?/:dup?',
            name: 'aggiungi',
            component: AggiungiAllenamento,
        },
        {
            path: '/pesi',
            name: 'pesi',
            component: Pesi,
        },
        {
            path: '/aggiungi_peso/:id?/:dup?',
            name: 'aggiungi_peso',
            component: AggiungiPeso,
        },
    ];
    
    const router = createRouter({
        history: createWebHistory(),
        routes
    });
    
    export default router;
    può servirvi altro???

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Quote Originariamente inviata da fermat Visualizza il messaggio
    questo il file delle rotte router.js:
    Hai fatto un confronto con le parti aggiuntive che puoi trovare in questo esempio?

    Premetto che detesto le SPA e questi "meccanismi".
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Quote Originariamente inviata da alka Visualizza il messaggio
    Hai fatto un confronto con le parti aggiuntive che puoi trovare in questo esempio?

    Premetto che detesto le SPA e questi "meccanismi".
    però io sto problema lo sto avendo solo con vue.js.

    con angular non ho questi problemi.
    cioè se in angular vado direttamente su https://www.sito.it/admin2/#/colori (a parte il dominio, il link è reale) ci vado senza problemi.

    su questo progetto in vue.js invece se vado su https://www.sito.com/sir/aggiungi mi dice che la pagina non è stat trovata.
    non conosco bene vue.js, però sinceramente lo trovo strano

    cmq in giornata do un'occhiata al link che mi hai girato e ti dico!

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Quote Originariamente inviata da fermat Visualizza il messaggio
    però io sto problema lo sto avendo solo con vue.js.
    con angular non ho questi problemi.
    Noterai che i due link non hanno lo stesso formato.

    Se usi un URL tipo https://www.sito.com/sir/aggiungi, sarà il tuo server a cercare di risolverlo caricando qualcosa a quella locazione, ed è ovvio che non viene trovata una pagina.

    Mi viene da dire che la mancanza del cosiddetto hashbang (#!) causi problemi, perché il server non è in grado di sopperire alla richiesta, a meno che non sia debitamente configurato.

    Trovi un approfondimento sul tema in questa pagina.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    si hai ragione, è l'hashtag che crea problemi.
    o meglio, la sua assenza.

    così non ho problemi:
    codice:
    const router = createRouter({
        history: createWebHashHistory(),
        routes
    });
    cmq in angular anche senza # non ho il problema.
    ho appena provato su un'applicazione online.
    bho...

    cmq grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.