当前位置: 首页 > 后端技术 > Node.js

NodeJs中如何用ES6import语法和require语法写一个可以同时导入的模块文件

时间:2023-04-03 14:00:26 Node.js

问题介绍在写nodejs代码的时候,想导入自己的一个工具功能包utils.js;里面的代码结构如下://utils.jsexportconstfunA=()=>{};//函数funAexportconstfunB=()=>{};//functionfunB在其他js文件中使用ES6import语法import*asUtilsfrom'./utils'没问题,但是在nodejs中使用import时,启动nodeserve.js会报语法错误(除非编译ES6使用babel-nodeserve.js)。这是因为nodejs中的部分ES6语法还没有标准化,不能直接支持(以后新版本可能会支持~~),需要安装babel-cli来支持。如何处理?我们都知道在node中引入模块通常使用require语法,而不是import语法。那么如何编写一个既支持require语法又支持import语法的js文件。//utils.jsconstfunA=()=>{};//函数funA常量funB=()=>{};//functionfunBmodule.exports={funA:funA,funB:funB,}这个在node中也可以使用require引入://nodejs//service.jsconstutils=require('./util')启动nodeservernodeserve.js不会报错。(注:service.js是nodejs的入口文件)