Vue.js предоставляет возможность подключения фреймворка без установки через npm или сборщиков модулей, используя Content Delivery Network (CDN). Это удобный способ быстрого прототипирования и интеграции Vue в проекты без сложной настройки окружения. Подключение через CDN позволяет загружать готовую версию библиотеки напрямую с удаленного сервера и использовать ее в браузере.
Для базовой работы с Vue достаточно добавить тег
<script> в HTML-файл. Доступны несколько версий:
<!-- Простой режим разработки (Development) -->
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<!-- Оптимизированная версия для продакшена (Production) -->
<script src="https://unpkg.com/vue@3/dist/vue.global.prod.js"></script>
После подключения Vue можно создавать приложение с помощью функции
Vue.createApp. Основной синтаксис:
<div id="app">
{{ message }}
</div>
<script>
const app = Vue.createApp({
data() {
return {
message: 'Hello Vue!'
};
}
});
app.mount('#app');
</script>
Vue.createApp создает корневой экземпляр
приложения.data возвращает объект состояния.app.mount('#app') монтирует приложение на элемент с
указанным идентификатором.Vue использует директивы для привязки данных и управления DOM:
v-bind — динамическая привязка атрибутов:<img v-bind:src="imageUrl" alt="Image">
v-model — двухсторонняя привязка данных для форм:<input v-model="inputValue">
<p>{{ inputValue }}</p>
v-if, v-else-if, v-else —
условное отображение элементов:<p v-if="isVisible">Элемент виден</p>
<p v-else>Элемент скрыт</p>
v-for — циклический вывод списков:<ul>
<li v-for="item in items" :key="item.id">{{ item.name }}</li>
</ul>
Vue позволяет удобно работать с событиями через директиву
v-on или сокращение @:
<button @click="increment">Нажми меня</button>
<p>Счетчик: {{ counter }}</p>
<script>
const app = Vue.createApp({
data() {
return { counter: 0 };
},
methods: {
increment() {
this.counter++;
}
}
});
app.mount('#app');
</script>
methods содержит функции, доступные из шаблона.this внутри методов ссылается на экземпляр
приложения.CDN-версия Vue поддерживает регистрацию глобальных компонентов:
<div id="app">
<my-component></my-component>
</div>
<script>
const app = Vue.createApp({});
app.component('my-component', {
template: '<p>Это компонент!</p>'
});
app.mount('#app');
</script>
app.component(name, options) регистрирует компонент
глобально.template определяет HTML для компонента.props для передачи данных в
компонент.Vue обеспечивает реактивное обновление интерфейса при изменении данных:
<div id="app">
<p>{{ count }}</p>
<button @click="count++">Увеличить</button>
</div>
<script>
const app = Vue.createApp({
data() {
return { count: 0 };
}
});
app.mount('#app');
</script>
Любое изменение свойства count автоматически отражается
в DOM, без необходимости вручную управлять обновлением элементов.
CDN позволяет легко интегрировать сторонние скрипты и библиотеки совместно с Vue:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
axios.get('https://api.example.com/data')
.then(response => {
console.log(response.data);
});
</script>
Vue может использоваться вместе с AJAX-запросами, сторонними библиотеками компонентов и стилями CSS, загружаемыми через CDN.
<script src="...vue.global.js"></script>.Vue.createApp({ data(){}, methods:{} }).mount('#app').v-bind, v-model,
v-if, v-for, v-on.app.component('name', { template: '' }).data.Использование Vue через CDN обеспечивает минимальные требования к окружению, позволяет быстро создавать интерактивные интерфейсы и изучать возможности фреймворка без сложной конфигурации сборщика.