Как я могу систематически отключать некоторые не относящиеся к делу предупреждения при компиляции с Svelte? - PullRequest
0 голосов
/ 17 апреля 2020

Вот предупреждение, которое я получаю, когда я компилирую компонент с img, в котором отсутствует атрибут alt:

Plugin svelte: A11y: <img> element should have an alt attribute

Все разработчики согласятся, что A11y - хорошая вещь; кроме как в моем случае, это послужило бы только для раздражения чтения с экрана. Я создаю игровой движок, и мои объекты выглядят так:

Example

SVG-изображение, метка предмета. Для программы чтения с экрана это будет выглядеть так: «Fabri c Scrap Fabri c Scrap»; на самом деле не имеет смысла иметь здесь атрибут alt, но лучшее, что могут предложить мне документы, это то, что я могу загромождать свой код следующим образом:

<!-- svelte-ignore a11y-autofocus -->
<input bind:value={name} autofocus>

Я действительно хочу этого избежать, так как я могу заставить Svelte перестать показывать мне эту указанную c ошибку? В идеале без отключения модуля A11y в целом.

1 Ответ

1 голос
/ 17 апреля 2020

Вы можете отключить предупреждения на уровне проекта.

Если вы используете накопительный пакет, предупреждения можно подавить, предоставив пользовательский обработчик onwarn:

import svelte from 'rollup-plugin-svelte'

export default {
  plugins: [
    svelte({
      // Warnings are normally passed straight to Rollup. You can
      // optionally handle them here, for example to squelch
      // warnings with a particular code
      onwarn: (warning, handler) => {
        // e.g. don't warn on a11y-autofocus
        if (warning.code === 'a11y-autofocus') return

        // let Rollup handle all other warnings normally
        handler(warning)
      }
    })
  ]
}
...