[譯文] 如何在 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 代碼

相關文章
相關標籤/搜索