Create-React-App failed to compile | Import/First Error

懵懂的女人 提交于 2019-11-30 13:53:45

This is because you accidentally installed React Router into src folder. So the linter thinks it’s your code and tries to validate it. Don’t install third party dependencies inside src.

Delete src/node_modules and run npm install in the root folder of your app. If some package is missing, run npm install --save <package-name>, also in the root folder.

For me, it was a case, because I was violating Eslint import/first rule, by calling an imported function before any other import.

For example, this code had a problem:

import configureStore from './redux/common/configureStore';
const store = configureStore();

// Add polyfill for fetch for older browsers
import 'isomorphic-fetch';
require('es6-promise').polyfill();

because I was calling and assigning const store = configureStore(); before import 'isomorphic-fetch';

The import declaration is incorrect we need to follow the procedure such

1) first we need to import library

ex: import React from 'react';

2) Then declare any variable or constants

ex: var apiBaseUrl = "http://localhost:4000/api/";

Look closely at your code. I saw this message from a double ; typo.

      import React from 'react';
      import AppBar from '@material-ui/core/AppBar';
      import CircularProgress from '@material-ui/core/CircularProgress';;  <----- Mistake
      import Toolbar from '@material-ui/core/Toolbar';
      import IconButton from '@material-ui/core/IconButton';

In my case, I got this error for the below piece of code. Before fix:-

import axios from 'axios';
export const GET_TODO = 'GET TODO';
export const SAVE_TODO = 'SAVE TODO';
import { devConstants } from 'src/appConstants';

After spending some time on this, I am able to find cause for this." all import statements should be at the top of the module,"

After fix:-

import axios from 'axios';
import { devConstants } from 'src/appConstants';

export const GET_TODO = 'GET TODO';
export const SAVE_TODO = 'SAVE TODO';

My problem was that I had at the second line this

var moment = require('moment');

All the other lines were imports. When I moved the require to the end, problem fixed.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!