如何知道是否可以使用ES6导入语法导入npm包?

时间:2019-06-06 17:27:27

标签: javascript node.js npm es6-modules

除了仔细查看软件包的文档和尝试/错误尝试之外,如何确定可以使用ES6导入语法导入打包的npm?

我可以检查软件包文件夹中的文件吗?

我一直在问自己这个问题。

例如:

md5软件包DOCS仅提及md5 = require('md5');,但我刚刚进行了测试,它可以与import md5 from 'md5'一起使用

我如何检查包裹并确定知道?

2 个答案:

答案 0 :(得分:1)

由于您正在使用Babel和webpack,因此您始终可以使用import。 Webpack负责在代码中转译import语句,以包括npm软件包中的代码。我想不出import不能工作而require可以工作的任何情况。

答案 1 :(得分:1)

您必须检查模块/软件包是否具有distsrc文件夹。如果程序包具有dist文件夹,则可以使用es6的import语句将其导入。否则,如果它有一个src文件夹,则无法使用es6的import语句将其导入,并且必须使用cjs的require函数来导入此类模块。如果尝试使用import语句导入cjs模块,则会出现以下错误:

Syntax Error: Cannot use import statement outside a module