2015-12-09 19 views
9

के रूप में मैं moduleA है जो कुछ कार्यों का निर्यात करता है:ES6 मॉड्यूल: पुनः निर्यात वस्तु

:

// moduleA.js 
export function f1() {...} 
export function f2() {...} 

वहाँ किसी भी तरह से फिर से निर्यात करने के लिए moduleB में moduleA के सभी निर्यात और यह एक वस्तु की तरह दिखता है बनाने के है

// moduleB.js 
export * as a from 'moduleA'; // pseudo code, doesn't work 

तो यह है कि मैं इस तरह से इसका इस्तेमाल कर सकते हैं?

// main.js 
import {a} from 'moduleB'; 
a.f1(); 
a.f2(); 

उत्तर

16

वाक्यविन्यास अभी तक समर्थित नहीं है लेकिन a proposal for it है।

आप Babel.js साथ अब इसका इस्तेमाल कर सकते हैं या बस कार्य करें:

import * as a from '...'; 
export {a}; 
+1

किसी को देख के लिए - प्रस्ताव चरण 1. यह 'कोलाहल-पूर्व निर्धारित-env' या' कोलाहल-पूर्व निर्धारित-latest' में शामिल नहीं है पर अब भी है। http://babeljs.io/docs/plugins/transform-export-extensions/ –

-1

file1.js

export let uselessObject = { 
    con1 : function() { 
    console.log('from file1.js') 
    } 
} 

file2.js

import { uselessObject } from './file1.js' 

uselessObject.con2 = function(){ 
    console.log('from file2.js ') 
} 

export { uselessObject } from './file1.js' 

सूचकांक .js

import { uselessObject } from './file2.js' 
uselessObject.con1() 
uselessObject.con2() 

आउटपुट

from file1.js 
from file2.js 
+0

.. 'file1' की संरचना और' file2' – Bergi

+0

अपने काम के कोड को बदलने की आवश्यकता होगी कि उद्देश्य को सुलझाने: आप इसे अलग से स्थापित करना होगा .. और क्या आप चाहते हैं – vijay

+0

कार्य कोड मतलब यह नहीं है कि यह अच्छा कोड – Bergi

संबंधित मुद्दे