#javascript #laravel #vue.js
#javascript #laravel #vue.js
Вопрос:
Я пытаюсь сделать рендеринг компонента в соответствии с примером, который я нашел в Интернете.
Я создал пример проекта, и он там работает нормально, но он выходит из строя, когда я пытаюсь использовать то же самое в официальной базе кода.
вот содержимое файла блейда, который визуализируется.
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Vue SPA Demo</title>
</head>
<body>
<div id="app">
asdfsadfsadsdf
<example-component></example-component>
</div>
<script src="js/app.js"></script>
</body>
</html>
затем, вот app.js
window.Vue = require("vue").default;
import ExampleComponent from './components/ExampleComponent.vue';
Vue.component('example-component', ExampleComponent);
а вот ExampleComponent.vue
<template>
<div>
<div>Example Component</div>
</div>
</template>
<script>
export default {
mounted() {
console.log('Component mounted.')
}
}
</script>
Забавный факт: когда я пытаюсь включить подобный компонент вместо этого, он отображает «Test», как и ожидалось
Vue.component('example-component', {
template: '<div>Test</div>'
});
итак, мне ясно, что проблема в этой строке / файле
import ExampleComponent from './components/ExampleComponent.vue';
Ответ №1:
Я нашел ответ!! Спустя почти 8 часов…
Оказывается, ошибка «vue-loader» 16.1.2 package.json
была ошибкой. Я попробовал точно такую же конфигурацию, но изменил «16.1.2» на «15.9.2» и наоборот 4-5 раз и запустил
rm -rf node_modules/
rm package-lock.json
npm cache clear --force
npm install
между каждым изменением пакета.
Забавный факт: после этого ваш компонент будет отображаться при записи
const app = new Vue({
el: '#app',
});
в вашем app.js