Node 支持ES6 modules

      众所周知,nodejs支持的模块化规范是Commonjs,不支持ES6的module。如何让node程序像es6一样import库呢?

1、安装babel

npm install @babel/core @babel/register @babel/preset-env --save-dev

2、原node代码(如index.js)

// let only = require('only')
// 以import形式引入only包
import only from 'only'
var obj = {
    name: 'tobi',
    last: 'holowaychuk',
    email: 'tobi@learnboost.com',
    _id: '12345'
};
// 第二个参数是字符串形式的属性集合
var user = only(obj, 'name last email');
// 第二个参数是数组形式的属性集合
var user2 = only(obj, ['name', 'last']);
console.log(user);
console.log(user2);

注意上述代码是以import形式引入的。

3、增加入口文件

// Transpile all code following this line with babel and use '@babel/preset-env' (aka ES6) preset.
require("@babel/register")({
    presets: ["@babel/preset-env"]
  });
  
  // Import the rest of our application.
  module.exports = require('./index.js')

4、执行入口文件即可

node server.js
原文地址:https://www.cnblogs.com/mengfangui/p/12383193.html