zoukankan      html  css  js  c++  java
  • 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始终只会导出一个默认成员,不能导出多个命名成员
  • 相关阅读:
    Struts2
    Struts2
    学习python的第九天
    学习python的第八天--作业
    学习python的第七天--作业
    学习python第六天 --作业
    学习python的第六天---1(理论)
    学习python第五天
    学习python第四天
    学习python第三天
  • 原文地址:https://www.cnblogs.com/lanpang9661/p/13794708.html
Copyright © 2011-2022 走看看