유스 케이스는 간단합니다. 가져온 이름 그대로 객체를 내보내고 싶습니다.
예를 들면 다음과 같습니다.
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 '...';
답변
여러 파일을 구성하는 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
답변
그런 구조로 가져온 파일을 내보낼 수 있습니다
import First from './First'
import Second from './Second'
/..../
export { First, Second }
답변
유스 케이스의 경우 babel이 es7 코드를 es5로 변환 할 수 있도록 명시적인 import 문이 명시 적으로 필요합니다.
다음과 같은 오류가 발생합니다 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()
.
require( 'babel-core/register' );
export default require( './module_name' ).default;
답변
주어진 ./foo.js
:
const Foo = class {
talk() { return 'hello'; }
};
export default Foo;
그런 다음이 작업을 수행 할 수 있어야합니다.
import Foo from './foo';
let foo = new Foo();
foo.talk(); // => 'hello';
구문은 다음과 같이 commonjs module.exports 패턴을 따릅니다.
const Foo = class {
};
module.exports = Foo;
여기 더 :
답변
당신은 export {React}
그것을 통해 그것을 가져올 수 있어야합니다import {React} from ./module
자세한 내용은 https://developer.mozilla.org/en/docs/web/javascript/reference/statements/export 를 참조하십시오.