[译文] 如何在 Node.js 中使用 ES6 语法的 import/export

原文连接:How To Enable ES6 Imports in Node.JSnode

目前的 Node.js 并不支持 ES6 语法的 import 功能,但咱们能够使用 Babel (语法转换器)来实现。

只须要在入口文件处导入所需的 Babel 依赖便可,无需打包编译成新的文件。git

如下是案例es6

一、安装依赖包

基于 Expressgithub

> npm init
> npm install express --save
> npm install babel-register babel-preset-env --save-dev
复制代码

二、 原始 server.js 的代码

const express = require('express')
const app = express()

// 路由
app.get('/', function (req, res) {
  res.send('hello world')
})

app.listen(3000, () => console.log('浏览器输入http://localhost:3000'))
复制代码

启动 server.js,运行服务: node server.jsweb

在浏览器中,输入 http://localhost:3000 ,查看运行结果。express

三、转换 server.js 的代码

用 ES6 的 import 取代 require(...) , export 取代 module.exportsnpm

路由配置文件: router.js浏览器

import express from 'express'

const router = express.Router() // 路由
// 配置路由
router.get('/', function (req, res) {
  res.send('hello world')
})

export default router
复制代码

server端文件:server.jsbash

import express from 'express'
import router from './router' //引入路由配置文件

const app = express()
// 使用路由
app.use('', router)

app.listen(3000, () => console.log('浏览器输入http://localhost:3000'))
复制代码

四、添加 stars.js 文件

将如下代码写入新建的 stars.js 文件中,惟有此处没法使用 import 和 export。babel

require('babel-register')({
    presets: [ 'env' ]
})

// 导入初始的启动文件
module.exports = require('./server.js')
复制代码

启动 start.js,运行服务:node start.js


补充

一、GitHub 代码

相关文章
相关标签/搜索