如何編寫ES6 import語法 和 NodeJs中require 語法都能同時引進的模塊文件

問題引入node

在編寫nodejs代碼中想要引進個人一個工具函數包 utils.js ;
裏面的代碼結構以下:服務器

//utils.js

export const funA = () => {} ; //函數funA 
export const funB = () => {} ; //函數funB

在其它js文件中使用ES6 import語法 import * as Utils from './utils' 中都沒問題,可是在nodejs中用import,啓動 node serve.js時候會報語法錯誤(除非用 babel-node serve.js 編譯ES6)。這是因爲nodejs中部分ES6語法尚未標準化,還不能直接支持(從此新版本可能會支持哦~~),須要安裝 babel-cli 去支持。babel

怎麼解決?函數

你們都知道node中一般引入模塊是 require 語法,而非import語法。 那麼怎麼編寫一個js文件 即支持require 語法,又支持import語法呢。工具

//utils.js

const funA = () => {} ; //函數funA 
const funB = () => {} ; //函數funB
module.exports = {
  funA:funA,
  funB:funB,
}

這樣node中也能夠用require 引進:ui

//nodejs   
//service.js

const Utils = require('./util')

啓動node服務器 node serve.js 就不會報錯啦。(注:service.js爲nodejs的入口文件)code

相關文章
相關標籤/搜索