如何从字符串调用 CommonJs 模块中的函数
How to call a function in a CommonJs module from a string
我在post某处看到可以用eval
函数实现,但作者也警告不要使用它。我不知道这是否重要,但我正在使用浏览器和 webpack。你会怎么做?
const init = (fname) => {
console.log(fname); //'myFunction'
// How do I call myFunction from string here?
};
const myFunction = () => {};
module.exports = {
init
};
诀窍是将函数名称映射到实际函数。
const functionMap = {myFunction};
const init = (fname) => {
console.log(fname); //'myFunction'
functionMap[fname]() // call functionMap.myFunction
};
const myFunction = () => {};
module.exports = {
init
};
我在post某处看到可以用eval
函数实现,但作者也警告不要使用它。我不知道这是否重要,但我正在使用浏览器和 webpack。你会怎么做?
const init = (fname) => {
console.log(fname); //'myFunction'
// How do I call myFunction from string here?
};
const myFunction = () => {};
module.exports = {
init
};
诀窍是将函数名称映射到实际函数。
const functionMap = {myFunction};
const init = (fname) => {
console.log(fname); //'myFunction'
functionMap[fname]() // call functionMap.myFunction
};
const myFunction = () => {};
module.exports = {
init
};