Возможно ли во .vue компоненте получить name компонента или имя файла компонента в качестве переменной в sass?

Может быть есть какая-то библиотека?
  • Вопрос задан
  • 356 просмотров
Пригласить эксперта
Ответы на вопрос 2
Вы изобретаете ненужный велосипед (чуть не написал "кажется" по заветам CoCK моей галеры). Класс и имя компонента - разные вещи, у них разные соглашения об именовании. Так, css-класс не должен быть написан StudyCaps'ом (в отличие от имени компонента), и, кроме того, может несколько разниться - это нормально.

По теме
Vue.component('my-thing', {
    name: 'mything'
})
// later
vm.$options.name // 'mything'
Ответ написан
Комментировать
Aetae
@Aetae Куратор тега Vue.js
Тлен
Имя файла в принципе можно получить как-то так:
vue.config.js:
module.exports = {
  css: {
    loaderOptions: {
      sass: {
        prependData({resourcePath}) {
          const vueFileName = resourcePath.match(/([^\\\/]+).vue$/i);
          if(vueFileName)
            return `$vue-file-name: "${vueFileName[1]}"`
        }
      }
    }
  }
}
В каждом Vue компоненте в sass у вас будет теперь переменная $vue-file-name с именем файла.
Но зачем?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы