当前位置: 首页 > 知识库问答 >
问题:

如何在ES6导出导入对象?

马野
2023-03-14

用例很简单:我只想导出一个名称与导入时相同的对象。

例如:

import React from 'react';
export React;

但这并不起作用。我必须写:

import React from 'react';
export const React = React;

但这很奇怪。正确的方法是什么?

更新:

感谢帮助和参考。我用许多线索解决了我的问题。下面给大家分享一些我常见的案例和解决方法。

import d, {obj} from '...';

export {obj, d};
export {obj as name1, d as name2};
export * from '...';
export * as name1 from '...';
export {a, b as name1} from '...';
export {default} from '...';
export {default as name1} from '...';

共有3个答案

方通
2023-03-14

对于我的用例,我显式地需要某种显式导入语句,以便babel能够将我的es7代码传输到es5。

以下操作会导致错误您给我们提供了节点类型ForAwait语句的访问者,但它不是有效类型

require( 'babel-core/register' ); //transpiles es7 to es5
export {default} from './module_name'

我的解决方案是使用require()显式导入模块:

require( 'babel-core/register' );
export default require( './module_name' ).default;
虞展
2023-03-14

您可以导出导入的文件与这样的结构

import First from './First'
import Second from './Second'
/..../
export { First, Second }
班高明
2023-03-14

我经常在组成多个文件的index.js文件中执行以下操作:

export {default as SomeClass} from './SomeClass';
export {someFunction} from './utils';
export {default as React} from 'react';

这篇博客文章提供了一些很好的附加示例。

在访问这些导出的导入时,您应该注意此eslint规则。基本上,在另一个文件中,您不应该:

import SomeClassModule from 'SomeClass/index.js';
SomeClassModule.someFunction(); // Oops, error

你应该这样做:

import SomeClassModule, {someFunction} from 'SomeClass/index.js';
someFunction(); // Ok
 类似资料:
  • 问题内容: 有人可以为我提供关于类对象的一些指导,以及如何在我的项目中的另一个对象中引用它吗? 这是我的对象-request-api.js(注意:我知道它还没有进行很多操作,但是我想走路之前要走路) 这是我试图在其中引用的React Class组件: 我的React Component Class对象出现错误: 谁能为我提供一些见识/帮助? 问题答案: 由于不是静态方法,因此您需要先创建的实例,然

  • 我目前正在通过webpack/babel在React应用程序中使用ES6。我使用索引文件收集模块的所有组件并将其导出。不幸的是,这看起来是这样的: 所以我可以很好地从其他地方导入它,比如: 显然,这不是一个很好的解决方案,所以我想知道,是否还有其他方法。我似乎无法直接导出导入的组件。

  • 问题内容: 我在玩和使用和。我想在不同的文件中构建多个组件,将其导入单个文件并将其捆绑在一起 假设我有几个这样的组件: my-navbar.jsx main-page.jsx 使用webpack并按照其教程进行操作,我有: 构建项目并运行它之后,在浏览器控制台中出现以下错误: 我究竟做错了什么?如何正确导入和导出组件? 问题答案: 尝试 默认设置 组件中的导出: 通过使用默认值,您表示将成为该模块

  • 问题内容: 在我正在合作的项目中,关于可以使用哪种模块系统,我们有两个选择: 导入使用的模块,并使用导出和。 使用ES6导入模块,并使用ES6导出 相互使用是否对性能有好处?如果要在Node模块上使用ES6模块,还有其他什么应该知道的吗? 问题答案: 相互使用是否对性能有好处? 请记住,还没有JavaScript引擎本身支持ES6模块。您说自己正在使用Babel。无论如何,Babel都会默认将其转

  • 如果我使用ES6中的,那么我的所有Jest测试都会失败,并出现错误: 意外保留字 我将测试对象转换为使用老式IIFE语法,突然我的测试通过了。或者,以更简单的测试用例为例: 同样的错误。显然这里的导入/导出有问题。对我来说,仅仅为了让我的测试框架开心而使用ES5语法重写代码是不现实的。 我有巴别塔笑话。我尝试了GitHub问题的各种建议。这是不可能的。 有解决办法吗?

  • 问题内容: 通过使用,我可以在 文件名 内包含并执行代码,而无需在 文件名 内定义任何导出。 ES6中使用的等效项是什么? 谢谢 问题答案: 等效的就是: 以下是一些可能的语法变体: 消息来源: MDN