J'ai un routeur de vue qui fonctionne quand je le place directement dans le dossier src mais ne fonctionne pas quand je le place dans un dossier à l'intérieur du répertoire src.

Voici mon code qui mot parfaitement lorsque je place le fichier vue-router du côté du dossier src.

import Vue from 'vue';
import Router from 'vue-router';

import HelloWorld from './components/HelloWorld.Vue';

Vue.use(Router);

export default new Router({
    mode: 'history',
    routes: [
        {
            path: '/',
            name: 'Login',
            component: HelloWorld            
        }
    ]
});

Mon main.js

import Vue from 'vue';
import App from './App.vue';
import router from './router/index.js';
//import router from './router.js';

import './assets/app.scss';
import jQuery from 'jquery';
window.$ = jQuery;
window.jQuery = jQuery;

import 'popper.js';
import 'bootstrap';


Vue.config.productionTip = false

new Vue({
  render: h => h(App),
  router
}).$mount('#app')

Voici ma structure de dossiers.

Folder structure

Voici l'erreur.

./src/router/index.js
Module not found: Error: Can't resolve './components/HelloWorld.Vue' in 'C:\xampp\htdocs\sales-and-inventory\frontend\src\router'
0
Errol Paleracio 4 nov. 2019 à 15:02

1 réponse

Meilleure réponse

C'est parce que ./ regarde dans le dossier où se trouve le fichier. Le chemin qu'il essaie actuellement de trouver est donc C:/path/to/project/src/router/components/HelloWorld.Vue

Au lieu de cela, modifiez le chemin d'accès à ../components/HelloWorld.Vue et cela devrait fonctionner.

1
Hiws 4 nov. 2019 à 12:41