Create-React-App无法编译| 导入/第一个错误

Cat*_*roe 8 import importerror reactjs create-react-app react-router-dom

我目前正在为我的个人网站使用Create-React-App.每次运行时我都会遇到以下错误:

./src/~/react-router-dom/es/index.js
 Line 3:   Import in body of module; reorder to top  import/first
 Line 5:   Import in body of module; reorder to top  import/first
 Line 7:   Import in body of module; reorder to top  import/first
 Line 9:   Import in body of module; reorder to top  import/first
 Line 11:  Import in body of module; reorder to top  import/first
 Line 13:  Import in body of module; reorder to top  import/first
 Line 15:  Import in body of module; reorder to top  import/first
 Line 17:  Import in body of module; reorder to top  import/first
 Line 19:  Import in body of module; reorder to top  import/first
 Line 21:  Import in body of module; reorder to top  import/first
 Line 23:  Import in body of module; reorder to top  import/first
 Line 25:  Import in body of module; reorder to top  import/first
Run Code Online (Sandbox Code Playgroud)

我当然觉得我错过了一些非常小的东西,但我很难搞清楚它.我尝试使用Google搜索错误关键字'import/first',这让我认为这是一个ESLint问题.如果您在我的导入订单中发现任何问题,请告诉我.我尝试了不同的导入订单,但似乎没有什么可以摆脱错误.

import React from 'react';
import ReactDOM from 'react-dom';
import { createBrowserHistory } from 'history';
import { Router, Route, Redirect, Switch } from 'react-router-dom';
import './index.css'; 
import App from './App.js';
import Home from './home.js';
import About from './about.js';
import Contact from './contact.js';
import NotFound from './404.js';

import registerServiceWorker from './registerServiceWorker';

const history = createBrowserHistory();

ReactDOM.render(
    <Router history={history}>
        <App>
            <Switch>
                <Route exact path="/" component= {Home} />
                <Route path="/about" component= {About} />
                <Route path="/contact" component= {Contact} />
                <Route path="/404" component= {NotFound} />
                <Redirect to= "/404" />
            </Switch>
        </App>
    </Router>,
    document.getElementById('root')
);
registerServiceWorker();
Run Code Online (Sandbox Code Playgroud)

Dan*_*mov 16

这是因为您不小心将React Router安装到src文件夹中.所以linter认为这是你的代码并试图验证它.不要在里面安装第三方依赖项src.

删除src/node_modules并运行npm install应用的根文件夹.如果某个包丢失,请运行npm install --save <package-name>,也在根文件夹中.


Sho*_*ota 8

对我而言,这是一种情况,因为我在执行其他任何导入操作之前调用了导入的函数,从而违反了Eslint 导入/第一条规则。

例如,此代码有问题:

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

// Add polyfill for fetch for older browsers
import 'isomorphic-fetch';
require('es6-promise').polyfill();
Run Code Online (Sandbox Code Playgroud)

因为我const store = configureStore();之前打电话和分配import 'isomorphic-fetch';


KAR*_*N.A 5

导入声明不正确,我们需要遵循以下步骤

1)首先我们需要导入库

例如: import React from 'react';

2)然后声明任何变量或常量

例如: var apiBaseUrl = "http://localhost:4000/api/";