• ES6import后加花括号{}和不加花括号引用模块的区别


    ES6-import后加花括号{}和不加花括号引用模块的区别
    使用花括号
    在A文件中想要引用B文件模块,所引入的名字必须与B文件中导出的名字相同
    在A.js中
    export const A{ *** }
    那么在B.js中

    import { A } from './A' //正确,因为A.js中有命名为A的export
    import {A1} from './A' //错误,因为A.js中没有命名为A1的export

    不使用花括号
    在不使用花括号的情况下,import使用的命名是随意的
    即在B.js中
    import A from ',/A' //正确
    import A1 from './A' //正确

    但是,不使用花括号{}引用的前提是,在A.js中 必须有默认导出的export default才能生效
    即在A.js中需要改动成下面的代码

    const A { *** };
    export default A;

    那么,我们为什么要有这种写法呢?
    从上面第1点加花括号的例子我们可以看到,使用import命令,需要清楚的知道所要加载的变量名或者函数名,一旦写错就无法引用。那么export default命令便可以实现在引入的时候随意指定名称使用,大大方便了程序员。
    显然,一个模块只能有一个默认输出,因此,A.js中,export default命令只能使用一次,所以import后面才不用加大括号,应为只会对应唯一的export default命令。

    webpack 引入模块import 后面加入{}和不加大括号有什么区别

    也就是说,通过import xxx from "..."引入的,xxx已经是默认导出项的别名了。
    import { xxx } from "..."引入的,{ xxx }只是导出项的名字,而并非导入时的名字。

  • 相关阅读:
    九度 1502:最大值最小化(二分法)
    九度 1499:项目安排(任务调度, 01背包变形)
    九度 1498:寻找表达式(暴力搜索, 计算表达式)
    正则——只能允许是汉字、拼音和数字的正则表达式
    vs出现“已经在解决方案中打开了具有该名称的项目”问题的解决方案
    DNS劫持解决方法
    Unity3D 面试题汇总
    MonoDevelop几个常用的快捷键
    《要死就一定要死在你手里》——虐心歌曲
    美国队长2-冬日战士
  • 原文地址:https://www.cnblogs.com/itjeff/p/16894191.html
Copyright © 2020-2023  润新知