В предыдущем проекте мы заменили jQuery на Vuejs для обработки некоторых более сложных представлений. В основном это было только приложение для сервера. Мы не использовали этап сборки, который исключает использование функций ES6. Теперь у нас есть некоторое время, чтобы переписать / реорганизовать некоторые вещи, и я хотел бы представить webpack / babel. Теперь я обнаружил, что не могу улучшить свои существующие представления с помощью синтаксиса vue, как я делал раньше. Так как эти представления не включены в этап сборки, я думаю, что это недостающий контекст, но я хотел бы лучше понять, почему, прежде чем я перестану придерживаться этого подхода.
Это грубые ингредиенты вместе с довольно простой настройкой webpack + babel + vue-loader. Кажется, это работает как рекламируется.
//index.js
import vue from 'vue';
import greet from './components/greet.vue';
const vm = new Vue({
el: '#app',
components: {greet},
mounted() {
alert('this works');
},
});
//components.greet.vue
<template>
<h1>{{ greet }}</h1>
</template>
<script>
export default {
data() {
return {
greet: 'hey',
}
}
}
</script>
//html from the server
<head>
..etc
</head>
<body>
<div id="app">
<greet></greet>
<span v-if="true">true</span>
<span v-if="false">false</span>
<div id="server-rendered-content">
...some content from the server
</div>
</div>
</body>
оповещение в смонтированном виде срабатывает, но промежутки с v-if и компонентом greet не отображаются.
Спасибо, все!