Le Module.les exportations et les es6 Importation

Réagir avec babel. J'ai cette confusion avec les importations et le module.les exportations. Je suppose babel lors de la conversion de l'ES6 code de ES5 convertit les importations et les exportations d'exiger et de module.les exportations respectivement.

Si j'exporte une fonction d'un module et de l'importation de la fonction dans un autre module, le code s'exécute bien. Mais si je l'exportation de la fonction avec le module.les exportations et les importer à l'aide de "l'importation" l'erreur est levée lors de l'exécution de dire c'est pas une fonction.

J'ai concocté un exemple.

//Tiger.js
function Tiger() {
    function roar(terrian){
        console.log('Hey i am in ' +  terrian + ' and i am roaing');
    };
    return roar;
}

module.exports = Tiger;

//animal.js
import { Tiger } from './animals';

var animal = Tiger();
animal("jungle");

J'ai utilisé babel avec préréglage es2015 à transcompile. Cela me donne l'erreur suivante

Uncaught TypeError: (0 , _animals.Tiger) n'est pas une fonction

Mais si je supprime le module.exports = Tiger; Et de le remplacer avec export { Tiger }; Il fonctionne très bien.

Ce qui me manque ici??

EDIT:
Je suis à l'aide de browserify que le module de bundler.

Avez-vous regardé la Babel de sortie? En regardant les transpiled source de Tiger.js vais vous dire tout de suite pourquoi il ne fonctionne pas. Longue histoire courte: le bâton avec un module de système ou de l'utilisation d'un module de bundler comme webpack qui prendra soin d'incohérences.
Désolé de mentionner que je suis à l'aide de browserify que le module de bundler

OriginalL'auteur Nani | 2015-12-14