栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

节点--experimental-modules,请求的模块未提供名为

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

节点--experimental-modules,请求的模块未提供名为

编辑新(更好)的答案

Node团队很慢。同时,带来我们Lodash的那个家伙(John-David Dalton)设想了一个 绝妙的
解决方案,他的想法是在2019年获得全面ES6模块支持的最佳方式。

(实际上,我 删除我以前的答案,但出于历史目的已将其保留。)

新的解决方案超级简单。

第1步:

npm i esm

(https://www.npmjs.com/package/esm了解软件包详细信息)

第2步:

node -r esm yourApp.js

这就是全部:实际上就是那么容易。只需添加

-r esm
为Node arg,一切就可以神奇地工作了(它甚至比输入还少
--experimental-modules
!)谢谢约翰·戴维·道尔顿!

就像我在原始答案中所说的那样,大概 有朝一日 Node最终会完全释放对ES6的支持,但是在这种情况下,采用它就像从一些脚本中删除“ -r
esm”一样容易:D

最后,要归功于到期日,尽管我没有从他的回答中找到答案,但@Divyanshu Rawat实际上在我进行此更新之前就提供了该库的前身的答案。

原始答案

--experimental-modules
尚不支持命名出口:

--experimental-modules不支持从commonjs模块导入命名的导出(节点自身的内置组件除外)。

  • https://github.com/apollographql/graphql-tools/issues/913

这就是为什么您无法使用语法的原因:

 import { throttle } from 'lodash';

相反(至少现在),您必须破坏所需的东西:

 import lodash from 'lodash'; const { throttle } = lodash;

大概有一天,Node将增加对所有ES Module功能的支持。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/427131.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号