用例很简单:我只想以导入时的名称导出一个对象。
例如:
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 '...';发布于 2017-03-10 00:45:25
我经常在由几个文件组成的index.js文件中执行以下操作:
export {default as SomeClass} from './SomeClass';
export {someFunction} from './utils';
export {default as React} from 'react';这个blog entry提供了一些很好的附加示例。
重要说明
在访问这些导出的导入时,您应该知道此eslint-rule。基本上,在另一个文件中,您不应该:
import SomeClassModule from 'SomeClass/index.js';
SomeClassModule.someFunction(); // Oops, error您应该这样做:
import SomeClassModule, {someFunction} from 'SomeClass/index.js';
someFunction(); // Ok发布于 2017-05-18 21:30:08
您可以使用这样的结构导出导入的文件
import First from './First'
import Second from './Second'
/..../
export { First, Second }发布于 2018-05-24 06:43:01
对于我的用例,我显式地需要某种显式的导入语句,以便babel可以将我的es7代码转换为es5。
以下结果将导致错误You gave us a visitor for the node type "ForAwaitStatement" but it's not a valid type
require( 'babel-core/register' ); //transpiles es7 to es5
export {default} from './module_name'require( 'babel-core/register' );
export default require( './module_name' ).default;https://stackoverflow.com/questions/37200080
复制相似问题