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始终只会导出一个默认成员,不能导出多个命名成员
  • 相关阅读:
    mysql truncate
    蠕虫复制
    mysql 一对多,多对多
    php实现文件下载
    JetBrains PhpStorm 整个项目中查找一个词语
    vim
    程序员减少代码BUG的7种方法,拒绝编程5分钟,查代码2小时!
    创建你的第一个Composer/Packagist包
    Elasticsearch
    Laravel 实践之路: 数据库迁移与数据填充
  • 原文地址:https://www.cnblogs.com/lanpang9661/p/13794708.html
Copyright © 2011-2022 走看看