美文网首页
node与es6

node与es6

作者: 糖糖不加糖_ | 来源:发表于2021-03-16 17:46 被阅读0次

    严格模式

    与es中提出的严格模式相同,node中使用ES6模式的类和let时,必须需要使用严格模式

    兼容性

    node 各版本对ES6的兼容性 https://node.green/, Node.js 6.x 已经支持 90% 的 ES6 特性

    • 已经分发并默认开启的特性;


      参见
    • 已经分发,但需要使用 –harmony 参数开启的特性;(node --harmony app.js)

      • Symbol.toStringTag
      • Array.prototype.includes
      • ......

    配置环境

    初始化

    npm init -y

    安装babel

    npm install --save-dev babel-cli babel-preset-env

    安装官网上介绍的操作就行,https://www.babeljs.cn/。创建.babelrc 文件

    {
      "presets": ["env"]
    }
    
    检查对es6的支持情况

    安装es-checker

    npm install --save-dev es-checker

    借助npx工具运行es-checker

    npx es-checker

    查看结果,参见下方


    es6可用情况

    node中使用ES6的几种方法

    • node版本为6.X以下时,文件顶部使用"use strict"
      当本身node版本比较高时,不需要使用"use strict",也可以使用es6,具体参见兼容性链接,import、export即使使用了"use strict",也不行,需要另作处理
    • 采用.mjs后缀文件名,运行 node --experimental-modules 文件名.mjs
      使用上述命令可以解决import、export问题
    • package.json文件下直接配置"type": "module"
      可以解决import、export问题
    ES6 模块(ESM) CommonJS 模块(CJS)
    import加载 require()加载
    export导出 module.exports导出
    import命令则是异步加载 require()是同步加载,后面的代码必须等待这个命令执行完,才会执行

    相关文章

      网友评论

          本文标题:node与es6

          本文链接:https://www.haomeiwen.com/subject/ujgrcltx.html