«Импорт в теле модуля; переупорядочить в начало импорт / сначала» Во многих файлах

У меня та же ошибка, что и у этот ответ, за исключением того, что она возникает не в одном файле, а во многих; как только я исправляю это для одного файла, появляется другой с той же ошибкой. Я видел этот ответ, но всякий раз, когда я запускаю react-scripts start, в моем src создается папка node_modules, так что это решение нежизнеспособно.

Было бы слишком много времени исправлять каждый файл с этой ошибкой каждый раз, когда я компилирую, так как я могу избавиться от этой ошибки? Кажется, это просто проблема eslint.

вы можете попробовать eslint --fix из командной строки

Mukesh Soni 02.05.2018 15:28

Мне пришлось сделать eslint --fix node_modules, но спасибо, что исправили, не стесняйтесь отвечать, и я могу отметить его как принятый

abagh0703 03.05.2018 06:19

вы никогда не должны возиться с файлами внутри node_modules. Я предлагал eslint --fix /path/to/problem/folder, но не знал, что проблемная папка - node_modules. Вместо этого вы должны добавить node_modules в список игнорирования eslint

Mukesh Soni 03.05.2018 06:28

добавьте файл с именем .eslintignore в свой корень и добавьте node_modules в качестве содержимого в этот файл

Mukesh Soni 03.05.2018 06:30

Найдите решение здесь: - stackoverflow.com/questions/45600727/…

Mahesh K 13.05.2019 11:20

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

Kerk 26.02.2020 10:54
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
18
6
31 195
9

Ответы 9

Я тоже столкнулся с этой проблемой. Я обнаружил, что вы должны импортировать все модули ES6 на верхнем уровне файлов JavaScript. "... структура модулей ES6 статична, вы не можете условно импортировать или экспортировать вещи. Это дает множество преимуществ.

Это ограничение вводится синтаксически разрешение импорта и экспорта только на верхнем уровне модуля: " Из Изучение JS доктора Акселя Раушмайера:

Подробности здесь: - stackoverflow.com/questions/45600727/…

Mahesh K 13.05.2019 11:20

Я обнаружил эту проблему, когда использовал React.lazy в моем существующем проекте. Я получил эту ошибку Failed to compile.: - Import in body of module; reorder to top import/first (с приложением create-response-app).

import React from 'react';
import SelectField from '../inputs/SelectField';
const Questions = React.lazy(() => import('./questions'))
import _ from 'lodash';

Решение:-

Только переупорядочьте позицию, т.е. поместите весь импорт поверх, а затем react.lazy.

import React from 'react';
import SelectField from '../inputs/SelectField';
import _ from 'lodash';
const Questions = React.lazy(() => import('./questions'))

вы получите эту ошибку, если вы объявили variable между импортами,

import React from 'react';
import axios from 'axios';

const URL = process.env.REACT_APP_API_BASE;

import demoXLXSFile from '../../assets/others/Demo.xlsx';
import './student.list.styles.scss';

объявить variables после импорта всего,

import React from 'react';
import axios from 'axios';
import demoXLXSFile from '../../assets/others/Demo.xlsx';
import './student.list.styles.scss';

const URL = process.env.REACT_APP_API_BASE;

У меня была аналогичная проблема с использованием импорта из @ material-ui / core и @ material-ui / icons. У меня не было переменной, разделяющей мой импорт, но мне пришлось изменить порядок импорта, чтобы файл правильно скомпилировался. В частности, импорт PersonAddDisabledOutlined из «@ material-ui / icons / PersonAddDisabledOutlined» отбросит все импортированные ниже него.

Jason 09.10.2020 19:43

Я получил ту же ошибку, когда добавил лишнюю точку с запятой ';' в конце оператора импорта.

Я предлагаю удалить лишние точки с запятой. Это должно устранить ошибку.

Перемещение каждого оператора импорта в верхнюю часть файла решает проблему.

Неправильный 1.

import React ,{useState ,useEffect} from 'react';
import './App.css';
import Post from './Post';
import db from "./firebase"

Верно 2.

import React ,{useState ,useEffect} from 'react';
import './App.css';
import Post from './Post';
import db from "./firebase.js"

// это код firebase.js

const db = firebaseApp.firestore();
const auth = firebase.auth();
const storage = firebase.storage();

export default {db,auth,storage};

Когда я меняю firebase на firebase.js во фрагменте 2. Моя ошибка исчезла

Я забыл добавить от.

Перед:

import UpperBlock;

После:

import UpperBlock from "../components/dashboard/shared/UpperBlock";

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

Я забыл добавить {Component} после импорта библиотеки "реагировать" в мой проект, это решило мою проблему.

Со мной случилось, когда я поставил требование перед импортом вот так:

require('dotenv').config()
import React from 'react';
import ReactDOM from 'react-dom';
...

Решение: поместите требование после импорта.

Другие вопросы по теме