结论
能用,但是有限制:
- 要加开启实验性功能的参数
- 脚本必须使用
.mjs
作为后缀 - 一但用了 ES6 模块,就不要想着再用 CommonJs 模块了(不可混用)
证明
截止到我写这篇文章,Node.js 的最新版本为 12.7.0
,先写一段我们以前耳熟能详,现在看起来老眼昏花的代码:
// commonjs/funs.js |
另一个文件,调用上面的模块:
// commonjs/use_funs.js |
当我们用 node
命令执行它的时候,是完全没有问题的:
~ node commonjs/use_funs.js |
现在换作我们最喜欢的 ES6 模块,实现差不多的代码:
// es6/funs.mjs |
调用上面的模块:
// es6/use_funs.mjs |
命令行执行:
~ node --experimental-modules es6/use_funs.mjs |
注意,node
后面的 --experimental-modules
参数必须要加,而且文件必须要使用 .mjs
后缀,两个条件缺少任意一个都会失败!
What can we do?
Just wait …
Or use Babel cutely ^_^