С момента своего запуска Vue.js становится все популярнее. В качестве модульной инфраструктуры веб-интерфейса Vue.js приобрел очень лояльную и широкую пользовательскую базу среди разработчиков JavaScript.
Таким образом, все больше и больше разработчиков сейчас обращаются к Vue.js – он давно зарекомендовал себя как третье по популярности имя в мире веб-разработки, после Angular и React.
Итак, как начать работу с Vue.js? Как мы можем создать наше самое первое приложение Vue.js?
В этой статье мы будем создавать наше первое приложение Vue.js. Так что без дальнейших церемоний, давайте начнем.
Создаем наше первое приложение Vue.js
Наше приложение будет не большим, а простым одностраничным сайтом, на котором будут ссылки на другие страницы.
Первым шагом является загрузка и установка Vue CLI. Этот шаг необходим, если в нашей системе еще нет интерфейса командной строки Vue.js. В противном случае его можно пропустить.
Установка довольно проста. Вот как это сделать через npm:
npm install -g @vue/cli
В качестве альтернативы мы также можем использовать Yarn:
yarn global add @vue/cli
Как только мы установим и настроим Vue CLI в нашей системе, мы сможем использовать команду vue из терминала. Чтобы создать новое приложение, давайте запустим следующую команду:
vue create my_first_app
Приведенная выше команда создаст наше первое приложение и его структуру – my_first_app

Понимание структуры приложения
Каждое приложение Vue.js содержит свой собственный файл package.json, почти как любое другое приложение JavaScript. Этот файл содержит список зависимостей и другую важную информацию для успешной настройки приложения.
Помимо этого, наше приложение также будет иметь файл index.html прямо в пути ./public. Этот файл, предназначенный для использования в качестве отправной точки приложения, будет содержать простой элемент, который Vue.js может использовать для присоединения к DOM.
Вот как выглядит наш файл index.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width,initial-scale=1.0"> <link rel="icon" href="<%= BASE_URL %>favicon.ico"> <title>This is my First Vue App</title> </head> <body> <noscript> <strong>We're sorry but my_first_app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> </noscript> <div id="app"></div> <!-- built files will be auto injected --> </body> </html>
Однако наиболее важные файлы находятся в пути ./src.
Файл src/main.js
Для начала у нас есть файл src/main.js, который, как следует из названия, является основным файлом JavaScript для нашего приложения. В этом файле мы импортируем библиотеку Vue и компонент приложения. Кроме того, мы создадим здесь экземпляр Vue, а затем назначим элементу DOM, который мы уже определили в файле index.html.
Вот как должен выглядеть файл src/main.js:
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
new Vue({
render: h => h(App),
}).$mount('#app')Файл src/App.vue
Другим важным файлом в пути ./src является файл src/App.vue. Этот конкретный файл является Отдельным Файловым Компонентом с автономной природой. Он включает в себя некоторую разметку, а также JavaScript и немного CSS.
В файле src/App.vue мы импортируем компонент из файла ./src/components/HelloWorld.vue. Вот как выглядит наш файл App.vue:
<template>
<div id="app">
<img alt="Vue logo" src="./assets/logo.png">
<HelloWorld msg="Hello World, meet Buddy!"/>
</div>
</template>
<script>
import HelloWorld from './components/HelloWorld.vue'
export default {
name: 'app',
components: {
HelloWorld
}
}
</script>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>Файл src/components/HelloWorld.vue
Компонент HelloWorld, как указано выше, используется для вывода набора ссылок и специального сообщения. Это то, что будет обслуживать само одностраничное приложение.
Файл HelloWorld.vue состоит из HTML, CSS и JavaScript. Однако весь CSS, упомянутый здесь, ограничен (в отличие от файла App.vue).
Вот как выглядит наш компонент src / components / HelloWorld.vue:
<template>
<div class="hello">
<h1>{{ msg }}</h1>
<p>
For more info on how Buddy can help you launch killer apps,<br>
check out the
<a href="http://buddy.works" target="_blank" rel="noopener">Buddy homepage</a>.
</p>
<h3>Installed CLI Plugins</h3>
<ul>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
</ul>
<h3>Ecosystem</h3>
<ul>
<li><a href="https://buddy.works/pricing" target="_blank" rel="noopener">Pricing</a></li>
<li><a href="https://buddy.works/knowledge" target="_blank" rel="noopener">Docs</a></li>
<li><a href="https://buddy.works/help" target="_blank" rel="noopener">Support</a></li>
<li><a href="https://app.buddy.works/sign-up" target="_blank" rel="noopener">Free Trial</a></li>
<li><a href="https://buddy.works/blog" target="_blank" rel="noopener">Blog</a></li>
</ul>
<h3>Social Media</h3>
<ul>
<li><a href="https://www.facebook.com/gitbuddy" target="_blank" rel="noopener">Facebook</a></li>
<li><a href="https://twitter.com/buddygit" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://www.linkedin.com/company/10293199" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="#" target="_blank" rel="noopener">Email</a></li>
<li><a href="https://github.com/buddy-works" target="_blank" rel="noopener">GitHub</a></li>
</ul>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
props: {
msg: String
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
margin: 40px 0 0;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>Запуск приложения
Теперь, когда мы поняли структуру путей и файлов, давайте попробуем запустить наше приложение. Обратите внимание, что мы изменили элементы мультимедиа, хранящиеся в пути ./assets.
Чтобы запустить наше приложение, нам просто нужно перейти в путь приложения и затем выполнить следующую команду:
npm run serve

Наше приложение будет работать на localhost:8080
И вот предварительный просмотр браузера:

Заключение
Получилось! Мы создали наше самое первое приложение Vue. Чтобы продолжить эксперимент, вы можете изменить файлы приложения по своему усмотрению.
