#eslint #es6-modules
#eslint #es6-модули
Вопрос:
Я редактирую свой код и получаю это в паре мест:
/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. можете ли вы опубликовать свой package.json? я запустил новое create-react-app и воспроизвел вашу ситуацию без ошибок
2. Он довольно большой, но он есть на github. Компоновка выполняется из catalyst-scripts , а проект с ошибками компоновки — это react-waiter .
Ответ №1:
Чтобы отключить это правило, в вашем .eslintrc.js
должно быть:
module.exports = {
'rules': {
'import/export': 0
}
}
Комментарии:
1. В настоящее время для нее установлено значение «предупреждение», чтобы по-прежнему отображались правильные ссылки, но автоматическая проверка не останавливает прогресс в конвейере CI.