如何编写ES6 import语法 和 NodeJs中require 语法都能同时引进的模块文件

问题引入

在编写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的入口文件)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值