重新导出语句差异(Javascript)

重新导出语句差异(Javascript),javascript,Javascript,export{sayHi}from./say.js'和export{default as sayHi}from./say.js'之间的区别是什么 第一条语句不是和第二条语句一样将default重命名为sayHi 这些陈述是否有效?如果不是,为什么 从'bar.js'将foo导出为默认值 将foo从'bar.js'导出为newFooName 我希望这会有所帮助。在JS中导出/导入的方法有很多,也许这个答案太专业了,但这是我了解模块在JS中如何工作的参考资料 //模块 module.export

export{sayHi}from./say.js'
export{default as sayHi}from./say.js'
之间的区别是什么

第一条语句不是和第二条语句一样将default重命名为
sayHi

这些陈述是否有效?如果不是,为什么

  • 从'bar.js'将foo导出为默认值
  • 将foo从'bar.js'导出为newFooName

    • 我希望这会有所帮助。在JS中导出/导入的方法有很多,也许这个答案太专业了,但这是我了解模块在JS中如何工作的参考资料

      //模块
      module.exports//导出模块以供其他程序使用。
      require()//导入模块以在当前程序中使用。
      //出口/需求
      //导出(在menu.js文件中)。
      让Menu={}//创建一个对象来表示模块。
      Menu.special=“薄荷酱烤甜菜汉堡”//向模块对象添加属性或方法。
      module.exports=菜单//使用module.exports导出模块。
      //require(在order.js文件中)。
      const Menu=require('./Menu.js')//使用require()导入模块并将其分配给局部变量(扩展名为.js是可选的)。
      console.log('我的订单是:'+Menu.speciality);//在程序中使用模块及其属性。
      //导出默认值
      让Menu={};
      导出默认菜单//使用JavaScript export语句导出JavaScript对象、函数和基本数据类型。
      //进口
      从“./菜单”导入菜单;
      //命名输出
      让汉堡=测试;
      出口{汉堡}//命名导出允许我们通过使用变量导出数据。
      //命名导入
      从“./菜单”导入{burger};
      //导出命名导出
      export let fries=“fries”//它们一经申报即可出口
      //导入命名导入
      从“菜单”导入{fries};
      //导出分配
      让专业=“专业”;
      导出{speciality as chefsSpecial};//“as”关键字允许我们给出一个变量名。
      //导入为
      从“菜单”导入{chefsSpecial as specialForYou};
      //使用别名的另一种方法是将整个模块作为别名导入:
      从“./菜单”以点菜方式导入*;
      特别支票;
      isVeg();
      
      点菜岛(Carte.isLowSodium()您是否有权访问编辑器和运行javascript的方法?它至少可以让你回答其中的一些问题。@尽管我在上面提出的第一个问题中尝试运行了两个版本,但我不认为它们是等效的,因为我的应用程序坏了,但我不知道
      export{sayHi}from./say.js
      有什么作用。语法对我来说似乎有点误导,我一直在努力寻找答案。
      export{sayHi}from…
      类似于
      import{sayHi}
      。要从中导入的文件必须有一个命名的导出(非默认),该导出具有显式的
      sayHi
      名称,如
      export函数sayHi()
      export{sayHi}from…
      按名称导入
      sayHi
      ,然后以相同的名称重新导出。所以不,它们是不等价的。@Evert这让我很困惑,因为我认为,
      export{}from…
      用大括号表示我们导入的是默认导出的东西不,显然不是这样。使用大括号时,你需要
      default
      关键字才能得到默认值。不要认为它完全回答了我的问题,但还是要感谢它+1