Javascript 在ecmascript中导入时执行函数

Javascript 在ecmascript中导入时执行函数,javascript,node.js,babeljs,Javascript,Node.js,Babeljs,而通常导入模块的方式比较旧,我们喜欢这样做 var a = require('a') var a = require('a')(); 此外,如果我们从“a”模块导出函数,我们可以像 var a = require('a') var a = require('a')(); 但是我们如何在ecmascript中做到这一点呢 我试过了 但它不起作用 如果我喜欢的话 import a from 'a'; a = a(); 存在重复声明之类的错误 我使用的是ecmascript2015

而通常导入模块的方式比较旧,我们喜欢这样做

var a =  require('a')
var a =  require('a')();
此外,如果我们从“a”模块导出函数,我们可以像

var a =  require('a')
var a =  require('a')();
但是我们如何在ecmascript中做到这一点呢 我试过了

但它不起作用 如果我喜欢的话

import a from 'a';
a =  a();
存在重复声明之类的错误
我使用的是ecmascript2015的babel transpiler预设,这在导入语法中是不可能的。最好使用不同的变量:

import aFactory from 'a';
let a = aFactory();

尝试克隆函数并从克隆的函数调用它。模块的前缀是import&distribute,因此我认为克隆并从克隆中调用它可以解决这个问题

import a from 'a';
let newVariable = JSON.parse(JSON.stringify( 'a' ));
试试这个,否则,尝试不同的方法克隆它并通过克隆的对象调用它。请记住,a=b只是一个引用,它将导致相同的错误