Происхождение $log
:
Vue.prototype.$log = console.info
Места, которые должны быть запрещены:
<template>
<!-- Place 1 -->
<div @click = "$log">
<!-- Place 2 -->
{{ $log }}
<!-- Place 3 -->
{{ $log('foo') }}
</div>
</template>
<script>
import Vue from 'vue'
// Place 4
Vue.prototype.$log('foo')
export default {
created() {
// Place 5
this.$log('foo')
},
}
</script>
Некоторая дополнительная информация, которая может помочь:
@apokryfos Да, цель состоит в том, чтобы запретить любое использование $log.
@apokryfos У меня все работает.
Покопавшись в no-restricted-syntax
, vue/no-restricted-syntax
правилах и AST
s, я наконец заработал, вот рабочие правила:
{
rules: {
'no-restricted-syntax': [
'error',
{
selector: '[name=$log]',
message: "Using '$log' is not allowed.",
},
],
'vue/no-restricted-syntax': [
'error',
{
selector: '[name=$log]',
message: "Using '$log' is not allowed.",
},
],
},
}
Чтобы уточнить, вы имеете в виду, как заставить eslint пометить
$log
как не разрешенный, а не как отключить вызов этой функции. Я правильно это понимаю?