Javascript NodeJS:必需的库使用ecma6模块

Javascript NodeJS:必需的库使用ecma6模块,javascript,node.js,Javascript,Node.js,我的应用程序依赖于对模块使用ecma6语法的库: require lib = 'lib.js' // myapp.js 我想运行node myapp.js,但它会导致语法错误,因为node不支持ecma6模块(而--实验模块需要将lib.js命名为lib.mjs) 有没有办法在不更改lib.js源代码的情况下运行myapp.js?几乎所有的lib都是以捆绑或传输的形式分发的,因此它们不需要支持ES模块。使用这样的库会很痛苦,不仅在节点中,而且在其他任何地方。@estus,我明白了。库只公开ES

我的应用程序依赖于对模块使用ecma6语法的库:

require lib = 'lib.js' // myapp.js
我想运行
node myapp.js
,但它会导致语法错误,因为node不支持ecma6模块(而
--实验模块
需要将
lib.js
命名为
lib.mjs


有没有办法在不更改
lib.js
源代码的情况下运行
myapp.js
?几乎所有的lib都是以捆绑或传输的形式分发的,因此它们不需要支持ES模块。使用这样的库会很痛苦,不仅在节点中,而且在其他任何地方。@estus,我明白了。库只公开ES模块是不自然的。我想这本书是这样出版的,因为它主要由它的维护者使用,并且适合他们的需要。考虑打开一个问题。到目前为止,它需要使用Babel或Webpack/Rollup进行处理。对于特定的ES模块,您还可以修改节点加载器以使用js而不是mjs,请参阅
import Foo from 'bar' // lib.js
...