Как исправить / отключить, по-видимому, ошибочную ошибку «В модуле нет именованных экспортов»? - PullRequest
2 голосов
/ 07 марта 2019

Я пишу свой код и получаю его в нескольких местах:

/Users/zane/playground/react-waiter/js/components/index.js
  1:15  error  No named exports found in module './utils'    import/export
  2:15  error  No named exports found in module './widgets'  import/export

/Users/zane/playground/react-waiter/js/index.js
  1:15  error  No named exports found in module './components'  import/export

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

Код:

// js/index.js
export * from './components'
export * from './settings'
export * from './utils'
// js/components/index.js
export * from './utils'
export * from './widgets'
// js/components/utils/index.js
export * from './Waiter'
// js/components/utils/Waiter.jsx
...
const Waiter = (props) => { ... }

export { Waiter }

Затем тот же шаблон для модуля widgets, одна константа, экспортированная из файла и реэкспортированная из индекса. я сделал попробуйте export const Waiter = ... и export * from './utils/index' с тем же результатом.

Я часто использую этот шаблон, и проблема возникает при повторном экспорте файла индекса и ничего больше.

В качестве обходного пути я установил конфигурацию eslint, чтобы изменить их на предупреждения, чтобы они не останавливали процесс CI, но об истинных проблемах по-прежнему сообщалось.

Я предполагаю, что в какой-то момент (очевидная) ошибка будет исправлена. Это было бы незначительной проблемой, но /* eslint-disable import/export */, кажется, не имеет никакого эффекта.

Любое понимание будет с благодарностью. Есть ли способ отключить правило для каждой строки и / или «перемешать» вещи, чтобы eslint правильно сообщал о них?

1 Ответ

0 голосов
/ 09 мая 2019

Чтобы отключить это правило, ваш .eslintrc.js должен иметь:

module.exports = {
    'rules': {
        'import/export': 0
    }
}
...