Spec-Zone.ru › ESLint

no-duplicate-imports

Запрет дублирования импортов модулей

Использование одного import оператора на модуль сделает код более понятным, поскольку вы сможете увидеть всё, что импортируется из данного модуля, в одной строке.

В следующем примере module импорт в строке 1 повторяется в строке 3. Эти импорты можно объединить, чтобы список импортов стал более лаконичным.

import { merge } from 'module';
import something from 'another-module';
import { find } from 'module';

Подробное описание правила

Это правило требует, чтобы все импорты из одного модуля, которые могут быть объединены, находились в одном import операторе.

Пример неправильного кода для этого правила:

Открыть в Playground
/*eslint no-duplicate-imports: "error"*/

import { merge } from 'module';
import something from 'another-module';
import { find } from 'module';

Пример правильного кода для этого правила:

Открыть в Playground
/*eslint no-duplicate-imports: "error"*/

import { merge, find } from 'module';
import something from 'another-module';

Пример правильного кода для этого правила:

Открыть в Playground
/*eslint no-duplicate-imports: "error"*/

// not mergeable
import { merge } from 'module';
import * as something from 'module';

Параметры

Это правило принимает один необязательный аргумент — объект с одним ключом, includeExports являющимся boolean. По умолчанию он равен false.

Если вы переэкспортируете из импортированного модуля, вы должны добавить импорты в import оператор и экспортировать их напрямую, а не использовать export ... from.

Пример неправильного кода для этого правила с опцией { "includeExports": true }:

Открыть в Playground
/*eslint no-duplicate-imports: ["error", { "includeExports": true }]*/

import { merge } from 'module';

export { find } from 'module';

Пример правильного кода для этого правила с опцией { "includeExports": true }:

Открыть в Playground
/*eslint no-duplicate-imports: ["error", { "includeExports": true }]*/

import { merge, find } from 'module';

export { find };

Пример правильного кода для этого правила с опцией { "includeExports": true }:

Открыть в Playground
/*eslint no-duplicate-imports: ["error", { "includeExports": true }]*/

import { merge, find } from 'module';

// cannot be merged with the above import
export * as something from 'module';

// cannot be written differently
export * from 'module';

Версия

Это правило было добавлено в ESLint v2.5.0.

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-duplicate-imports

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API