伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

JavaScript 模块导入的一个小麻烦

来源:本站原创 浏览:47次 时间:2023-07-10
JavaScript 模块导入的一个小麻烦

疯狂的技术宅 前端先锋

翻译:疯狂的技术宅
作者:Dmitri Pavlutin
来源:dmitripavlutin.com
正文共:1031 字
预计阅读时间:5 分钟

1.命名导入和自动完成

假设你编写了一个简单的 JavaScript 模块:

1// stringUtils.js2export function equalsIgnoreCase(string1, string2) {3  return string1.toLowerCase() === string2.toLowerCase();4}

这是一个模块 stringUtils。该模块有一个导出为 equalsIgnoreCase 的函数,该函数用来比较 2 个忽略大小写的字符串。

一切看起来都没什么问题。

现在让我们尝试在另一个 JavaScript 模块 app 中,从 stringUtils 模块导入 equalsIgnoreCase 函数:

1// app.js2import { equalsIgnoreCase } from './stringUtils';34equalsIgnoreCase('Hello', 'hello'); // => true

你很可能会通过以下方式编写代码:


JavaScript 导入模块操作时很难自动完成
首先,你必须先写好 import {}。在此步骤中,IDE 无法提供任何有关要导入的模块名称的建议。

然后,你继续敲下 from './stringUtils'。然后移回大括号并展开自动完成提示来选择要导入的名称。

尽管 ES2015 的模块优点很多,但 import module 语法使自动完成功能难以使用。

2. Python 是怎么做的

现在,让我们看看在 Python 中导入命名组件是否存在同样的问题。

这是在 Python 中实现的相同模块 stringUtils 和函数 equalsIgnoreCase 的代码:

1# stringUtils.py2def equalsIgnoreCase(string1, string2):3  return string1.lower() == string2.lower()

在 Python 中,你无需明确指出要导出的函数。

现在,在另一个 Python 模块 app 内,让我们尝试从 stringUtils 中导入函数 equalsIgnoreCase:

1# app.py2from stringUtils import equalsIgnoreCase34equalsIgnoreCase('Hello', 'hello') # => true

你很可能会通过以下方式编写 app 模块:

Python 导入模块的自动完成功能很好
在 Python 中,首先指出要从中导入的模块:from from stringUtils。然后再编写要导入的内容 import ...。

如果你想了解更多可以导入的函数,实际上编辑器早已经知道模块名称并能够提供必要的建议。做的不错!

3. 解决方案

对 JavaScript 中的命名导入启用自动完成功能,我可以找到的唯一解决方案是向 IDE 寻求帮助。

例如,在 Visual Studio Code 中,你可以安装 JavaScript (ES6) code snippets 插件。

启用插件后,通过先敲下 imd 并按 tab 键,光标会首先跳到你编写模块路径的位置。然后再按 tab 键,光标跳回到大括号内的导入位置。运作方式如下:

带插件的 JavaScript 导入模块自动完成

4. 总结

在 JavaScript 中,import 语法会强制你先指出要导入的项目(函数、类、变量),然后再指明模块的路径。这种方法对自动完成是很不友好的。

相反,在 Python 中首先指定模块名称,然后指定要导入的组件:from stringUtils import equalsIgnoreCase。使用此语法可以轻松自动完成导入的项目。

通过使用 IDE 的可能性,例如 ES6 code snippet 插件,你可以部分解决 JavaScript 中命名导入自动完成的问题。总比没有好。

原文链接

https://dmitripavlutin.com/javascript-import-module-drawback

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net