ES2015

Когда vue-loader обнаруживает наличие babel-loader или buble-loader в том же проекте, он будет использовать их для обработки секций <script> всех *.vue файлов, позволяя использовать возможности ES2015 в компонентах Vue. Если вы ещё не использовали новые возможности языка, вам определённо стоит начать. Несколько хороших учебных ресурсов:

Например типичный шаблон, который вы видите при импорте других компонентов Vue:

<script>
import ComponentA from './ComponentA.vue'
import ComponentB from './ComponentB.vue'

export default {
  components: {
    ComponentA,
    ComponentB
  }
}
</script>

В нём была использована краткая запись свойства объекта, доступная в ES2015 для определения дочерних компонентов. { ComponentA } это попросту сокращение от { ComponentA: ComponentA }. Vue автоматически преобразует ключ в component-a, так что вы можете использовать импортированный компонент в шаблоне как <component-a>.

ES2015 в шаблонах

Секция <template> в *.vue файлах компилируется в render-функцию на JavaScript и потом обрабатывается собственной сборкой Buble для поддержки ES2015. Это позволяет вам использовать такие возможности как краткую запись свойства объекта и вычисляемые свойства:

<div :class="[{ active: active }, isButton ? prefix + '-button' : null]">

можно упростить до:

<div :class="{ active, [`${prefix}-button`]: isButton }">

только для версий vue@^2.1.0: Вы можете использовать деструктуризацию параметров в v-for или слотах с ограниченной областью видимости:

<li v-for="{ id, text } in items">
  {{ id }} {{ text }}
</li>
<my-component>
  <template slot-scope="{ id, text }">
    <span>{{ id }} {{ text }}</span>
  </template>
</my-component>

Вы также можете настроить доступные возможности в шаблонах с помощью опции buble.

Транспиляция обычных .js файлов

Так как vue-loader обрабатывает только *.vue файлы, вам нужно настроить в файле конфигурации webpack чтобы обычные *.js файлы обрабатывались с помощью babel-loader или buble-loader. Проект созданный с помощью vue-cli уже настроен таким образом.

Настройка Babel с помощью .babelrc

babel-loader предпочитает .babelrc, поэтому рекомендуем использовать именно его для настройки пресетов и плагинов Babel.

results matching ""

    No results matching ""