nodejs中使用ES6语法(两种方法)

第一种方法:

  • 使用nodejs自带的功能支持es6语法,但是有个问题:文件的后缀名要写成mjs,在各类编辑器中无法获得语法提示,这是个硬伤。

创建文件es6.mjs

import fs from "fs"
let content = fs.readFileSync("es6.mjs")
console.info(content.toString())

执行命令

node --experimental-modules es6.mjs

第二种方法: 使用babel插件支持
  • 安装
npm install --global babel-cli
npm install --global babel-preset-env
npm install --save-dev babel-plugin-transform-runtime

创建配置文件.babelrc

  • List item
{
    "presets": [
        "env"
    ],
    "plugins": [
        "transform-runtime"
    ]
}
  • 配置package.json
"scripts": {
      "build": "babel src -d dist",
      "start": "npm run build && node dist/es6.js",
      "serve": "node dist/es6.js"
    }

build命令:把src文件夹下的js文件,编译到dist文件夹下
start命令:直接运行dist目录下的文件
serve:只运行文件而不重新编译文件

  • 创建文件夹src和es6.js
const arr = [1, 2, 3,4,5];
arr.map(item => console.info(item));
Promise.resolve("hello").then(()=>console.info("ok"))

  • 创建文件夹dist
  • 运行命令npm start
  • 自支生成dist目录下的文件es6.js
"use strict";

var _promise = require("babel-runtime/core-js/promise");

var _promise2 = _interopRequireDefault(_promise);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var arr = [1, 2, 3, 4, 5];
arr.map(function (item) {
  return console.info(item);
});
_promise2.default.resolve("hello").then(function () {
  return console.info("ok");
});

总结:第二种方法是比较靠谱的。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值