问题引入
在编写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 去支持。
怎么解决?
大家都知道node中通常引入模块是 require 语法,而非import语法。 那么怎么编写一个js文件 即支持require 语法,又支持import语法呢。
//utils.js
const funA = () => {} ; //函数funA
const funB = () => {} ; //函数funB
module.exports = {
funA:funA,
funB:funB,
}
这样node中也可以用require 引进:
//nodejs
//service.js
const Utils = require('./util')
启动node服务器 node serve.js 就不会报错啦。(注:service.js为nodejs的入口文件)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。