如何从字符串中调用CommonJs模块中的函数

时间:2017-03-23 11:11:58

标签: javascript webpack commonjs

我在某个帖子中读到可以通过使用eval函数来实现,但作者也警告不要使用它。我不知道它是否重要,但我正在使用浏览器和webpack。你会怎么做?

const init = (fname) => {
   console.log(fname); //'myFunction'
   // How do I call myFunction from string here?
};

const myFunction = () => {};

module.exports = {
    init
};

1 个答案:

答案 0 :(得分:1)

诀窍是将函数名称映射到实际函数。

const functionMap = {myFunction};

const init = (fname) => {
   console.log(fname); //'myFunction'
   functionMap[fname]() // call functionMap.myFunction
};



const myFunction = () => {};

module.exports = {
    init
};