• ES Module


    2020-10-10
    ES Module
    特点:
    • 通过给script标签添加 type = module 的方式
    • ESM会自动采用严格模式,严格模式下 全局this=undefined 非严格全局this = window
    • 每个 ESM 都是运行在单独的私有作用域当中
    • ESM 都是通过 CORS 的方式请求外部 JS 模块的,所以必须要服务端支持 CORS
    • ESM 的 script 标签会延迟执行脚本 会等待网页渲染完成过后再执行脚本
    ES Module 导入导出注意事项:
    • export {} 并不是导出一个对象字面量 而是固定语法
    • 导出的是数据的指针地址 并不是拷贝一份
    • 导出的数据都是常量,在其他模块中不可以修改
    import使用规范:
    • import后面写的是路径 不能省略.js的后缀
    • import相对路径不能省略./ 因为如果是字母开头 ESM 会任务是加载第三方模块去node_modules里找
    • 可以用 ./ 开头的相对路径,也可以用 / 开头的绝对路径
    • 也可以使用完整的url加载模块 所以可以直接引用CDN上的一些模块
    • import必须出现在最顶层 不能出现在if之类的大括号当中
    • 可以用 import() 函数动态加载模块 返回的是一个promise
    nodejs环境中 ESM与CommenJs:
    • ESM中可以导入CJS模块
    • CJS中不能导入ESM模块
    • CJS始终只会导出一个默认成员,不能导出多个命名成员
  • 相关阅读:
    [BZOJ2839:]集合计数
    [BZOJ2863:]愤怒的元首
    [BZOJ:3162]:独钓寒江雪
    PHP数据库基础(简单的)
    PHP数组创建和遍历(基础)
    中缀表达式转换为前、后缀表达式转化简单的技巧[转]
    PHP网页简单的计算机源代码
    JS确认取消按钮使用
    js(JavaScript)使用${pageContext.request.contextPath}报错
    易游验证怎么配置?易游验证怎么使用!!
  • 原文地址:https://www.cnblogs.com/lanpang9661/p/13794708.html
Copyright © 2020-2023  润新知