問題引入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