重新导出语句差异(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