javascript - 命名导出无法识别

标签 javascript reactjs ecmascript-6 import

我有这样的结构:

routes
  auth
    login
      index.js
      Login.jsx
    routes.js

routes.js文件中我有以下内容:

import { Route } from 'react-router-dom';
import { Login } from './login';

export default (
  <div>
    <Route path="/login" component={Login} />
  </div>
)

login/index.js 中我有这个:

import Login from './Login';

export const Login;

但由于某种原因我收到此错误:

Attempted import error: 'Login' is not exported from './login'.

我在这里做错了什么?

最佳答案

由于您在 login/index.js 顶部导入 Login 作为 import Login from './Login'; 它已经宣布。 Login 的值将是 Login.jsx 文件中的默认导出(例如:export default Login)。

由于它已经声明,因此您无法使用 const 重新声明它。如果您希望它是命名导出(因此您可以将其用作 import { Login } from './login';),那么您可能需要 export { Login }在您的 login/index.js 文件中:

import Login from './Login';

export { Login };

关于javascript - 命名导出无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58015486/

相关文章:

javascript - 比较值,如果匹配则添加到数组

javascript - node js中response.send和response.write的区别

javascript - JS中的函数参数会发生什么变化?

javascript - 在javascript中制作一个实时时钟

javascript - PDF.js - 一次打印多个文档

reactjs - React 中的缓存

reactjs - React js在每个span元素上附加点击事件

javascript - javascript中静态方法的名称不能重复?

javascript - 如何在 Angular 4 中的同一个 ngFor 中使用两个不同的索引变量

javascript - 如何检查 ES6 "variable"是否不变?