我想知道如何在语法上更改此自执行的导出函数:
export default (() => ({
get items() {
if (process.env.NODE_ENV === 'test') {
return { message: 'this is testing' };
} else {
return { message: 'this is not testing' };
}
},
}))();
使用ES6箭头功能并在末尾使用导出的语句(我最好的,错误的猜测):
const items = (() => {
if (process.env.NODE_ENV === 'test') {
return { API_AUTHORITY: 'this is testing' };
} else {
return { API_AUTHORITY: 'this is not testing' };
}
})();
export default items;
谢谢!
答案 0 :(得分:1)
不需要IIFE-只需导出对象即可:
const obj = {
get items() {
if (process.env.NODE_ENV === "test") {
return { message: "this is testing" };
} else {
return { message: "this is not testing" };
}
}
};
export default obj;
如果您确实想要一个函数,则将其定义为一行,然后可以在导出时执行它,尽管意图并不十分清楚:
const fn = () => ({
get items() {
if (process.env.NODE_ENV === "test") {
return { message: "this is testing" };
} else {
return { message: "this is not testing" };
}
}
});
export default fn();
或
const fn = // same as above
// ...
const obj = fn();
export default obj;
答案 1 :(得分:0)
@ Li357在评论中提供了答案;该功能是不必要的:
export default { items: { message: process.env.NODE_ENV === 'test' ? 'this is testing' : 'this is not testing' } }