这是一张备忘单,显示了不同的导出方式和相应的导入方式。其实可以分为3种:名称、默认值和列表👍//namedimport/exportexportconstname='value'import{name}from'...'//defaultexport/importexportdefault'value'importanyNamefrom'...'//重命名导入/导出export{nameasnewName}import{newName}from'...'//named+default|ImportAllexportconstname='value'exportdefault'value'import*asanyNamefrom'...'//exportlist+renameexport{name1,name2asnewName2}import{name1asnewName1,newName2}from'...'接下来我们一一看下命名方式。这里的关键是要有一个名字。exportconstname='value';import{name}from'some-path/file';console.log(name);//'value'默认使用默认导出,不需要任何名称,所以我们可以随便命名👏exportdefault'value'importanyNamefrom'some-path/file'c??onsole.log(anyName)//'value'默认方法不使用变量名exportdefaultconstname='value';//不要试图给我一个姓名!命名方法和默认方法可以一起使用命名方法和默认方法可以在同一个文件中一起使用🤝eportconstname='value'eportdefault'value'importanyName,{name}from'some-path/file'exportlistthird导出列表的方式(多个)constname1='value1'constname2='value2'export{name1,name2}import{name1,name2}from'some-path/file'c??onsole.log(name1,//'value1'name2,//'value2')需要注意的重要一点是这些列表不是对象。它看起来像一个对象,但它不是。我在刚开始接触模块的时候也有过这样的困惑。事实上它不是一个对象,它是一个导出列表//?Exportlist≠Objectexport{name:'name'}Renamedexport对导出名称不满意?没问题,你可以使用as关键字重命名它。constname='value'export{nameasnewName}import{newName}from'some-path/file'c??onsole.log(newName);//'value'//原始名称不可访问console.log(name);//?undefinedCan'tuseinlineexportwithexportlistexportconstname='value'//你已经在导出name??,不要再次导出Iexport{name}renameimport同样的规则适用于import,我们可以使用as关键字重命名它。constname1='value1'constname2='value2'export{name1,name2asnewName2}import{name1asnewName1,newName2}from'...'console.log(newName1);//'value1'console.log(newName2);//'value2'?name1;//undefinedname2;//undefinedimportallexportconstname='value'exportdefault'defaultValue'import*asanyNamefrom'some-path/file'c??onsole.log(anyName.name);//'value'console.log(anyName.default);//'defaultValue'命名方式vs默认方式关于是否应该使用默认导出的争论一直存在。查看这两篇文章。为什么我停止从我的JavaScript模块中导出默认值GitLabRFCbyThomasRandolph就像任何事情一样,没有正确或错误的答案。对您和您的团队来说,正确的方法永远是最好的方法。命名和默认导出的非开发条款假设您欠朋友一些钱。您的朋友说您可以通过现金或电子转帐的方式还款。通过EFT支付就像命名导出一样,因为您的名字已附加到交易中。因此,如果您的朋友健忘并开始要求您还钱,并说他没有收到。在这里,您可以简单地向他们出示转帐证明,因为您的名字在付款上。但是,如果您用现金还给朋友(与默认出口一样),则没有证据。他们可以说当时的100元是小红出的。现金上没有名字,所以他们可以说是你或任何人😵那么使用电子转账(指定导出)还是现金(默认导出)更好?这取决于您信任的朋友🤔实际上,这不是解决这个难题的正确方法。一个更好的解决办法是不要把你们的关系放在那个位置,冒着损害友谊的风险,最好彼此诚实。是的,无论您选择命名导出还是默认导出,这个想法都适用。最后还是由你的团队来决定哪种方式对团队更友好,选择哪一种,毕竟你不是一个人在战斗,而是一个团队😄作者:SamanthaMing译者:FrontendXiaozhi来源:Medium原文:https://puppet.com/docs/puppet/latest/cheatsheet_module.html本文转载自微信公众号《大招天下》,你可以按照以下二维码进行操作。转载本文请联系大千世界公众号。
