如何知道是否可以使用 ES6 导入语法导入 npm 包?
How to know if an npm package can be imported with ES6 import syntax?
除了查看包的文档和 trial/error 尝试之外,我如何才能确定是否可以使用 ES6 导入语法导入 npm 包?
包文件夹中有我可以查看的文件吗?
我不断地质疑自己。
例如:
md5
包 DOCS 只提到 md5 = require('md5');
但我刚刚测试过并且它适用于 import md5 from 'md5'
如何检查包裹并确定?
既然你使用的是 Babel 和 webpack,那么你总是可以使用 import
。 Webpack 负责转译代码中的导入语句以包含来自 npm 包的代码。我想不出 import
不起作用而 require
会起作用的任何情况。
您必须检查 module/package 是否有 dist
或 src
文件夹。如果包有dist
文件夹,那么可以使用es6的import
语句导入。否则如果有src
文件夹,则无法使用es6的import语句导入,必须使用cjs的require
函数导入此类模块。如果您尝试使用 import
语句导入 cjs 模块,您将收到以下错误:
Syntax Error: Cannot use import statement outside a module
除了查看包的文档和 trial/error 尝试之外,我如何才能确定是否可以使用 ES6 导入语法导入 npm 包?
包文件夹中有我可以查看的文件吗?
我不断地质疑自己。
例如:
md5
包 DOCS 只提到 md5 = require('md5');
但我刚刚测试过并且它适用于 import md5 from 'md5'
如何检查包裹并确定?
既然你使用的是 Babel 和 webpack,那么你总是可以使用 import
。 Webpack 负责转译代码中的导入语句以包含来自 npm 包的代码。我想不出 import
不起作用而 require
会起作用的任何情况。
您必须检查 module/package 是否有 dist
或 src
文件夹。如果包有dist
文件夹,那么可以使用es6的import
语句导入。否则如果有src
文件夹,则无法使用es6的import语句导入,必须使用cjs的require
函数导入此类模块。如果您尝试使用 import
语句导入 cjs 模块,您将收到以下错误:
Syntax Error: Cannot use import statement outside a module