你知道 JS 中的模块导入有一个缺点吗?
云栖号资讯:【点击查看更多行业资讯】
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!
1.命名导入和自动完成
假设我信编写了一个简单的JavaScript模块:
模块stringUtils具有导出了一个函数exequalsIgnoreCase,该函数比较两个忽略大小写的字符串。
看起来没啥问题,挺好的。
现在在 app.js 文件中导入函数 exequalsIgnoreCase
我们大多数会这样来引入:
首先,您必须编写导入名称import {}。 在此步骤中,IDE无法提供有关要导入的可用名称的任何建议。
然后,继续写入 from './stringUtils',然后移回大括号并展开自动完成以选择要导入的名称。
尽管 ES6 模块优点很多,但导入模块语法使自动完成功能难以使用。
2.Python 中的模块
现在让我们尝试在 Python 中导入命名组件。它有同样的问题吗?
下面用 Python 实现的相同模块stringUtils和函数equalsIgnoreCase:
在 Python 中,不必显式地指出要导出的函数。
现在,在另一个Python模块app内部,将stringUtils导入equalsIgnoreCase函数:
在Python中,首先指出要从:from stringUtils哪里导入的模块。
如果你想知道可以导入的函数,编辑器已经知道了模块名并给出了必要的建议,这种方式会更加友好。
3.解决方法
我能找到的在JavaScript中对命名导入启用自动完成的唯一解决方案是调用IDE以获得帮助。
例如,在Visual Studio Code中, 可以安装JavaScript (ES6) code snippets插件。
启用插件后,通过使用imd代码段并按tab键,光标首先跳到编写模块路径的位置。然后,在按下tab键后,光标会跳转回花括号内的导入位置。它是这样工作的:
总结
在JavaScript中,导入语法会强制我们先指出要导入的项目(函数,类,变量),然后再指明模块的路径。 这种方法不太友好。
相反,在Python中,首先指定模块名称,然后指定要导入的组件:from stringUtils import equalsIgnoreCase。 使用此语法可以轻松自动完成导入的项目。
通过使用IDE的扩展插件,例如 ES6 code snippet 插件,可以减轻JavaScript中命名导入自动完成的问题, 总比没有好。
【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK
原文发布时间:2020-04-08
本文作者:前端小智
本文来自:“掘金”,了解相关信息可以关注“掘金”
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Serverless 领域近一年行业发展回顾
2018年7月,Google 发布了 Knative。 Knative 是一个基于 Kubernetes 的开源 Serverless 框架,具备构建容器、流量调配、弹性伸缩、零实例、函数事件等能力。Knative 背后主要有 Google,Redhat,Pivotal 和 IBM 等公司参与。值得留意的是,Knative 的社区发展非常迅速,截止到 2019年4月,已经有超过50家公司参与,超过400贡献者。 2018年12月,AWS 发布了 Firecracker。 Firecracker 是一个开源的虚拟化技术,面向基于函数的服务,创建和管控安全的、多租户的容器。Firecracker 的目标是把传统虚拟机安全性和隔离型,和容器的诉求和资源效率结合起来。类似的产品还有 Kata Container 和 gVisor。 2019年
- 下一篇
Rancher开源Fleet:业界首个海量K8S集群管理项目
2020年4月3日,业界应用最为广泛的Kubernetes管理平台创建者Rancher Labs(以下简称Rancher)宣布推出全新开源项目Fleet,致力于为用户提供海量Kubernetes集群的集中管理体验。 Rancher是业界最早实现多云多集群管理的企业级Kubernetes管理平台。早在2016年的Rancher 1.0版本,Rancher就已经提供了用于管理多个集群的中央控制平面。 作为Kubernetes多集群管理的先驱,我们已经亲眼看到了用户如何不断增加所管理集群的数量。 2019年,Rancher推出了一系列轻量级Kubernetes开源项目,包括轻量级的Kubernetes发行版K3s、基于Kubernetes的应用程序部署引擎Rio、业界首个Kubernetes操作系统K3OS。这些项目获得了大量用户的关注,并收获了一致的好评。随着这些项目的成功,用户开始将成千上万的独立Kubernetes集群部署到分支机构、零售商店、石油钻井平台和风力发电厂等边缘位置。 Rancher联合创始人及总架构师Darren Shepherd创建并主导了Fleet项目,他表示:“用户...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Mario游戏-低调大师作品
- CentOS6,CentOS7官方镜像安装Oracle11G