看似非常简单的任务......
export default function() {
return {
googleClientID:'xxxx'
}
}
这是使用应用设置导出对象文字的最佳方式吗?
答案 0 :(得分:42)
您可以导出对象本身:
export default {
googleClientID:'xxxx'
};
不同之处在于,在您的情况下,每次调用导出函数时都会获得全新的对象。在这种情况下,您每次都会获得相同的对象。取决于你需要什么。
答案 1 :(得分:8)
您只需导出对象
即可export default { googleClientID:'xxxx' };
甚至
export default foo = { googleClientID:'xxxx' };
default export可以是函数,类,对象或其他任何东西。该值应被视为" main"导出值,因为它是最简单的导入。
答案 2 :(得分:0)
@ madox2和@void的答案可能是某种常见的误解。
我在向DefinitelyTyped - #18725发布PR时遇到了类似的问题。 typescript编译器会抱怨生成的文件。
一个例子应该是:
// ...
import zip from "./zip";
import zipObject from "./zipObject";
import zipObjectDeep from "./zipObjectDeep";
import zipWith from "./zipWith";
export default {
// ...
zip,
zipObject,
zipObjectDeep,
zipWith
};
乍一看,我没有想到我的问题。因为我只是从lodash-es
复制代码。但后来我找不到任何简单的方法来消除错误。
所以我去 spec 寻求答案。哇,如果我读得正确的话,规范并没有谈论默认导出对象。
以下是特别注意的:
export { googleClientID:'xxxx' }
刚刚找到了更多参考文献: