CDN (Content Delivery Network) позволяют подключать Vue.js и сопутствующие библиотеки без необходимости локальной установки. Рассмотрим основные подходы и лучшие практики.
<!DOCTYPE html>
<html>
<head>
<title>Vue CDN Example</title>
<!-- Подключаем Vue 3 через jsDelivr -->
<script src="https://cdn.jsdelivr.net/npm/vue@3.2.47/dist/vue.global.js"></script>
</head>
<body>
<div id="app">{{ message }}</div>
<script>
const { createApp } = Vue
createApp({
data() {
return {
message: 'Hello Vue!'
}
}
}).mount('#app')
</script>
</body>
</html>
Полная сборка (global):
https://cdn.jsdelivr.net/npm/vue@3.2.47/dist/vue.global.js
Runtime-only сборка:
https://cdn.jsdelivr.net/npm/vue@3.2.47/dist/vue.runtime.global.js
Пример с Vue Router и Pinia:
<!-- Подключаем зависимости -->
<script src="https://cdn.jsdelivr.net/npm/vue@3.2.47/dist/vue.global.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-router@4.1.6/dist/vue-router.global.js"></script>
<script src="https://cdn.jsdelivr.net/npm/pinia@2.0.33/dist/pinia.global.js"></script>
<script>
const { createApp } = Vue
const { createRouter, createWebHashHistory } = VueRouter
const { createPinia } = Pinia
const app = createApp({})
app.use(createPinia())
app.use(createRouter({
history: createWebHashHistory(),
routes: []
}))
app.mount('#app')
</script>
Использование SRI (Subresource Integrity):
<script
src="https://cdn.jsdelivr.net/npm/vue@3.2.47/dist/vue.global.js"
integrity="sha384-...sha384-hash..."
crossorigin="anonymous"></script>
Preconnect для ускорения:
<link rel="preconnect" href="https://cdn.jsdelivr.net">
Рекомендуемые подходы:
https://cdn.jsdelivr.net/npm/vue@3.2.47/dist/vue.global.js
https://cdn.jsdelivr.net/npm/vue@3/dist/vue.global.js
CDN предоставляют удобный способ быстрого подключения Vue.js и его экосистемы. Выбирайте подходящую сборку, фиксируйте версии, используйте SRI и preconnect для оптимизации. Для production-проектов рекомендуется использовать локальную сборку.