mjs-example

ES module (.mjs) that can be used natively from node 8.5.0+, without transpilers


Keywords
ES, native, modules, example, node v8.5.0+, es-module, es6, es6-modules, javascript, sample
License
MIT
Install
npm install mjs-example@1.0.2

Documentation

es-module-example-mjs

ES module (.mjs) that can be used natively from node 8.5.0+, without transpilers.

Starting with version 8.5.0, Node.js supports ES modules natively, behind a command line option. Read more at 2ality - Using ES modules natively in Node.js.

How this works

To publish a native ES module, simply define main in package.json to point to a file with the .mjs extension:

{
  "name": "mjs-example",
  "version": "1.0.2",
  "description": "ES native module (.mjs) - requires node 8.5.0+",
  "main": "example.mjs"
}

That's the only change. Your existing transpilation process to support older Node versions will work as before - just make sure to point Babel to the .mjs file(s).

Usage

  1. Install the module:
yarn add mjs-example
# or, npm install mjs-example
  1. Create a test file:
import {hello} from 'mjs-example';
console.log(hello);
  1. Run node (v8.5.0+) with the --experimental-modules flag:
node --experimental-modules mjs-test.mjs