React with babel. I have this confusion with imports and module.exports. I assume babel when converting the ES6 code to ES5 converts the imports and exports to require and
export { Tiger } would be equivalent to module.exports.Tiger = Tiger.
export { Tiger }
module.exports.Tiger = Tiger
Conversely, module.exports = Tiger would be equivalent to export default Tiger.
module.exports = Tiger
export default Tiger
So when you use module.exports = Tiger and then attempt import { Tiger } from './animals' you're effectively asking for Tiger.Tiger.
import { Tiger } from './animals'
Tiger.Tiger