除了仔细查看软件包的文档和尝试/错误尝试之外,如何确定可以使用ES6导入语法导入打包的npm?
我可以检查软件包文件夹中的文件吗?
我一直在问自己这个问题。
例如:
md5
软件包DOCS仅提及md5 = require('md5');
,但我刚刚进行了测试,它可以与import md5 from 'md5'
一起使用
我如何检查包裹并确定知道?
答案 0 :(得分:1)
由于您正在使用Babel和webpack,因此您始终可以使用import
。 Webpack负责在代码中转译import语句,以包括npm软件包中的代码。我想不出import
不能工作而require
可以工作的任何情况。
答案 1 :(得分:1)
您必须检查模块/软件包是否具有dist
或src
文件夹。如果程序包具有dist
文件夹,则可以使用es6的import
语句将其导入。否则,如果它有一个src
文件夹,则无法使用es6的import语句将其导入,并且必须使用cjs的require
函数来导入此类模块。如果尝试使用import
语句导入cjs模块,则会出现以下错误:
Syntax Error: Cannot use import statement outside a module