Я пишу одностраничный компонент Vue в своем проекте, который связан с использованием Laravel Mix .Я хочу извлечь некоторую логику в свой собственный класс, чтобы ее можно было легко повторно использовать в других компонентах (но это не логика, которая должна быть самим компонентом Vue).
Я создал новый класси поместите его в TimeRangeConverter.js
, в ту же директорию, что и мой компонент Vue.
export default class TimeRangeConverter {
static getFromTimestamp() {
return 1;
}
}
И в моем компоненте я импортирую его, как мне кажется, как обычно:
<template>
<div>
Example component
</div>
</template>
<script>
import './TimeRangeConverter';
export default {
mounted() {
console.log(TimeRangeConverter.getToTimestamp());
}
}
</script>
Однако Vue выдает ошибку, говоря ReferenceError: TimeRangeConverter is not defined
.
Я использую стандартный файл конфигурации webpack.mix.js
, который поставляется с Laravel 5.7:
mix.js('resources/js/app.js', 'public/js');
И в моем основном app.js
файл Я автоматически включаю компоненты Vue с:
const files = require.context('./', true, /\.vue$/i);
files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default));
Как правильно импортировать этот класс в компонент Vue для использования?