Node.js 使用 import

1. 通过 Babel 在 Node.js 上使用 import 特性

1.1 CommonJS ES6 之争
  • import 是在编译过程中执行, 而require是同步
  • import传的是值引用,require是值拷贝
  • more ...
import fs from 'fs'

let content = fs.readFileSync('./package.json').toString()

// or
content = require('fs').readFileSync('./package.json').toString()

import { Message } from 'element-ui'

// or
const { Message } = 'element-ui'
1.2 使用 Babel 转换
# 两个依赖
"devDependencies": {
    "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
    "babel-register": "^6.26.0",
    "nodemon": "^1.14.11"
}


# 使用 babel-register
require('babel-register')
(
  {
    plugins: ['babel-plugin-transform-es2015-modules-commonjs'],
  }
)

module.exports = require('./app.js')

1.3 运行

// app.js
import Koa from 'koa'

const app = new Koa()
app.use(async ctx => { ctx.body = 'Hello Koa2' })
app.listen(3000)

// 运行: ./node_modules/.bin/nodemon index.js

你可能感兴趣的:(Node.js 使用 import)